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

2021-09-07 19:55:51 字數 793 閱讀 4210

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

解法11.陣列排序,使用自定義排序規則是 a.b>b.a a 和 b互換位置

2.usort函式的使用

function costomcomp(a,b)

return a.b > b.a

usort(arr,'costomcomp')

return

implode('',arr)

解法2:冒泡法

1.迴圈外層 i

2.內層迴圈 j,判斷條件是j=i+1;jarr[j].arr[i] 調換位置

<?php

function customcomp($a,$b)//

解法1:自定義排序

function printminnumber($numbers

)$arr=array(3,32,321);

$result=printminnumber($arr

);var_dump($result

);$result=printminnumber2($arr

);var_dump($result

);//

解法2:氣泡排序

function printminnumber2($arr

)

}

}

return

intval(implode('',$arr

));}

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

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

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

輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。解法11.陣列排序,使用自定義排序規則是 a.b b.a a 和 b互換位置 2.usort函式的使用 function costomcomp ...

把陣列排成最小的數

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