題目:輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接的所有數字中最小的乙個。
例如:輸入陣列,則列印出這三個數字中能排成的最小數字為321323.
解題思路:
對vector容器中的資料進行排序。按照將a和b轉為string後,若a+b< b+a,a排在前面的規則排序。
如 2,21 因為212<221,所以排序為21,2
tips:函式to_string(int) 可以將int轉為string
static bool cmp
(int a,int b)
string printminnumber
(vector numbers)
把陣列排成最小數
題目 輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。思路 簡單的思路就是先對這些資料按照我們的規則進行排序,最後從頭到尾進行拼接。這時候就可以借助仿函式進行定義排序規則,要使排成最小的數字,...
把陣列排成最小數
題目描述 輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。輸入 例如輸入陣列 輸出 則列印出這三個數字能排成的最小數字為 void printminnumber int numbers,int length sort str,str length,comp...
把陣列排成最小的數
分析 這是09 年6這道題其實是希望我們能找到乙個排序規則,根據這個規則排出來的陣列能排成乙個最小的數字。要確定排序規則,就得比較兩個數字,也就是給出兩個數字m 和n,我們需要確定乙個規則m 和n哪個更大,而不是僅僅只是比較這兩個數字的數值哪個更大。根據題目的要求,兩個數字m 和n排成的數字mn 和...