>  기사  >  백엔드 개발  >  PHP에서 배열을 가장 작은 숫자로 정렬하는 방법(코드 첨부)

PHP에서 배열을 가장 작은 숫자로 정렬하는 방법(코드 첨부)

不言
不言앞으로
2018-10-10 11:22:162521검색

이 글의 내용은 PHP에서 배열을 가장 작은 숫자로 배열하는 방법(코드 포함)에 대한 내용입니다. 참고할 만한 가치가 있으니 도움이 필요한 분들에게 도움이 되었으면 좋겠습니다.

양의 정수 배열을 입력하고, 배열의 모든 숫자를 연결하여 숫자를 만들고, 연결될 수 있는 모든 숫자 중에서 가장 작은 숫자를 인쇄합니다. 예를 들어 {3, 32, 321} 배열을 입력하면 이 세 숫자가 출력될 수 있는 가장 작은 숫자는 321323입니다.
해결책 1
1. 사용자 정의 정렬 규칙을 사용한 배열 정렬은 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 루프 외부 레이어
2 . 내부 루프 j, 판단 조건은 j=i+1;j3입니다. 내부 루프 스왑 arr[i].arr[j] >

<?php
function customComp($a,$b){
        return intval($a.&#39;&#39;.$b) > intval($b.&#39;&#39;.$a);
}
//解法1:自定义排序
function PrintMinNumber($numbers)
{
        usort($numbers,&#39;customComp&#39;);
        return intval(implode(&#39;&#39;,$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].&#39;&#39;.$arr[$j])>intval($arr[$j].&#39;&#39;.$arr[$i])){
                                $temp=$arr[$i];
                                $arr[$i]=$arr[$j];
                                $arr[$j]=$temp;
                        }   
                }   
        }   
        return intval(implode(&#39;&#39;,$arr));
}

위 내용은 PHP에서 배열을 가장 작은 숫자로 정렬하는 방법(코드 첨부)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제