記錄面試題,給定n個數,求這n個數組成的最大數
阿新 • • 發佈:2020-12-13
給定N個數,求這n個數能組成的最大數
解題思路:要想組成最大數,則高位上的數字越大則這個數就越大,所以要在給定的數字中選擇最高位最大的數字往前面排 。方法如下:比如給定了兩個數是12和1,假設12為a,1為b,則有ab>ba,即a必須排b前面,同理假如有第三個數c,假設ab>ba , bc>cb,則ac>ca。
下面是程式碼的簡單實現:
//初始化比較函式
function compare(a,b){
let A = Number(String(a) + String(b))
let B = Number(String(b) + String (a))
return B - A
}
var arr = [34,567,9,98]
let maxNumber = arr.sort(compare).join('')
console.log('排序後的陣列' + '' + arr)
console.log('組成的最大數' + maxNumber)
輸出結果: