刷演算法 把陣列排成最小的數

2021-09-13 11:48:21 字數 449 閱讀 9191

輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。

把陣列按照可以達到最終最小數字的順序重新排列一遍,但是有乙個問題,排序的衡量標準是什麼,也就是說兩個數字怎麼判斷誰前誰後?

例如[3,5,32,321],3和5很好判斷,肯定是3在前最後的排成的數字比較小,但是5和32呢?所以,排序的衡量標準應該是比較這兩個數字排成的數字的大小,例如5和32,可以排成532和325,325<532,所以32得排在前面。

function printminnumber(numbers)

)

var res = '';

for(var i = 0;i < numbers.length;i++)

return +res;

}

刷題 把陣列排成最小的數

輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。如果單純地去比較兩個數,規則可能會很麻煩。所以我們可以把待比較的兩個數分別放在不同位置進行拼接,比較拼接後的數字。tip 將數字轉為字串,不容易...

演算法 把陣列排成最小的數

輸入乙個正整數陣列,把陣列裡所有數字拼接起排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。核心思想是,比較a和b,把他們拼起來,ab和ba哪個大,如果a大於b,那麼交換。這樣一遍迴圈,可以將最大的放到陣列最後,多迴圈幾次,就是我們想要的...

把陣列排成最小的數

分析 這是09 年6這道題其實是希望我們能找到乙個排序規則,根據這個規則排出來的陣列能排成乙個最小的數字。要確定排序規則,就得比較兩個數字,也就是給出兩個數字m 和n,我們需要確定乙個規則m 和n哪個更大,而不是僅僅只是比較這兩個數字的數值哪個更大。根據題目的要求,兩個數字m 和n排成的數字mn 和...