Heim > Artikel > Backend-Entwicklung > So ordnen Sie das Array in PHP in der kleinsten Zahl an (Code beigefügt)
Der Inhalt dieses Artikels befasst sich mit der Anordnung des Arrays in der kleinsten Zahl in PHP (mit Code). Ich hoffe, dass er für Sie hilfreich ist.
Geben Sie ein Array positiver Ganzzahlen ein, verketten Sie alle Zahlen im Array, um eine Zahl zu bilden, und geben Sie die kleinste Zahl unter allen Zahlen aus, die verkettet werden können. Wenn Sie beispielsweise das Array {3, 32, 321} eingeben, ist die kleinste Zahl, die diese drei Zahlen ausdrucken können, 321323.
Lösung 1
1. Array-Sortierung mit der benutzerdefinierten Sortierregel ist a.b>a und b tauschen die Positionen
function costomcomp(a,b) return a.b > b.a usort(arr,'costomcomp') return implode('',arr)Lösung 2: Blasenmethode
1. Innere Schleife j, die Beurteilungsbedingung ist j=i+1;jf61e12a709b506aae79e4e71a4492b54 arr[j].arr[i] tauschen Positionen
<?php function customComp($a,$b){ return intval($a.''.$b) > intval($b.''.$a); } //解法1:自定义排序 function PrintMinNumber($numbers) { usort($numbers,'customComp'); return intval(implode('',$numbers)); } $arr=array(3,32,321); $result=PrintMinNumber($arr); var_dump($result); $result=PrintMinNumber2($arr); var_dump($result); //解法2:冒泡排序 function PrintMinNumber2($arr) { $length=count($arr); for($i=0;$i<$length;$i++){ for($j=$i+1;$j<$length;$j++){ if(intval($arr[$i].''.$arr[$j])>intval($arr[$j].''.$arr[$i])){ $temp=$arr[$i]; $arr[$i]=$arr[$j]; $arr[$j]=$temp; } } } return intval(implode('',$arr)); }
Das obige ist der detaillierte Inhalt vonSo ordnen Sie das Array in PHP in der kleinsten Zahl an (Code beigefügt). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!