這個數我拿到的第乙個想法是吧數字變成字串,然後用字串比較。看了答案竟然用排序的函式做,排序的函式sort真的是萬能的。還有在比較兩個字串的大小的時候,我的思路是一直從字串裡拿元素比較其大小,答案的做法是直接比較字串,利用了string 的特性。還有乙個問題就是注釋裡寫的,這裡又沒有靜態資料成員,為什麼要定義靜態成員函式?如果在這裡用,唯一的解釋是靜態成員函式不屬於任何的物件,它屬於類。
1 #include2 #include3 #include 4 #include 5
//#include
6using
namespace
std;
7class
solution
24*/
25 vectorst;
26for (int i = 0; i < numbers.size(); i++)
2731
sort(st.begin(), st.end(), comparetwo);
3233
for (int i = 0; i < st.size(); i++)
3437
return
res;
3839}40
/*41
bool comparetwo(string a, string b)
4257}58
return true;59}
60*/
61static
bool comparetwo(string a, string b)//
開始沒有加static,報的是sort函式那一行的錯誤,為什麼這麼要加static?
6271}72
};73
intmain()74;
77 cout << so.printminnumber(test) <78return0;
79 }
劍指offer系列 把陣列排成最小的數
題目描述 輸入乙個正整數陣列,把陣列中所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。示例 輸入 輸出 321323 分析 首先把陣列中的每個數字轉換成字串的形式,然後對所有字串進行排序 排序的規則是 a b b a,則a應該在b的前面,最後再將所有的字串拼接起來即為最終的結果 為了...
劍指offer系列(32) 把陣列排成最小的數
題目描述 輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。思路分析 對陣列中每兩個元素進行組合,比較,確認出最小的排列。比如,3與32組合,332 323,所以交換3和32的位置,3與321組...
牛客 劍指offer系列題解 把陣列排成最小的數
記錄刷題的過程。牛客和力扣中都有相關題目,這裡以牛客的題目描述為主。該系列預設採用python語言。1 問題描述 輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。2 資料結構 陣列,字串,排序...