Code Log 01把陣列排成最小的數

2021-09-25 00:15:01 字數 414 閱讀 2558

題目:輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接的所有數字中最小的乙個。

例如:輸入陣列,則列印出這三個數字中能排成的最小數字為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 和...