i" 위치; 4. "functionmissingNumber($nums) {...}" 메소드를 정의하여 누락된 숫자를 찾습니다."/> i" 위치; 4. "functionmissingNumber($nums) {...}" 메소드를 정의하여 누락된 숫자를 찾습니다.">

>백엔드 개발 >PHP 문제 >PHP에서 누락된 숫자를 찾는 방법

PHP에서 누락된 숫자를 찾는 방법

藏色散人
藏色散人원래의
2022-12-14 09:47:165316검색

PHP에서 누락된 숫자를 찾는 방법: 1. PHP 샘플 파일을 만듭니다. 2. 샘플 데이터의 증가 패턴을 확인합니다. 3. "nums[i] == i" 또는 "nums[i] > i를 사용합니다. " 누락된 값의 위치를 ​​확인합니다. 4. "functionmissingNumber($nums) {...}" 메소드를 정의하여 누락된 숫자를 찾습니다.

PHP에서 누락된 숫자를 찾는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, Dell G3 컴퓨터.

PHP에서 누락된 숫자를 찾는 방법은 무엇입니까?

PHP 0에서 n-1까지의 누락된 숫자를 계산합니다

0에서 n-1까지의 누락된 숫자

길이가 n-1인 오름차순 정렬 배열의 모든 숫자는 고유하며 각 숫자는 범위는 0~n-1입니다. 0~n-1 범위의 n개 숫자 중 배열에 없는 숫자는 하나만 찾아보세요.

예제 1:

输入: [0,1,3]
输出: 2

예제 2:

输入: [0,1,2,3,4,5,6,7,9]

출력: 8

문제 해결 아이디어

간단한 이진 검색, 질문의 의미를 통해 모든 숫자가 증가하고 값 범위가 모든 숫자는 [0, n-1] 내에 있고 고유하므로 다음과 같은 규칙을 찾을 수 있습니다.

쿼리 프로세스 중에 nums[i] == i인 경우 누락된 값은 오른쪽에 있어야 합니다. of i;

쿼리 프로세스 중에 nums[i] > i에서 누락된 값이 왼쪽에 있어야 하므로 결과적으로 min을 반환합니다.

Code

class Solution {
    /** * @param Integer[] $nums * @return Integer */
    function missingNumber($nums) {
        $min = 0;
        $max = count($nums) - 1;
        while ($min <= $max) {
            $mid = (int)($min + ($max - $min) / 2);
            $mid == $nums[$mid] ? $min = $mid + 1 : $max = $mid - 1;
        }
        
        return $min;
    }
}

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 누락된 숫자를 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.