首頁 >後端開發 >PHP問題 >PHP怎麼實作找缺少數字

PHP怎麼實作找缺少數字

藏色散人
藏色散人原創
2022-12-14 09:47:165316瀏覽

PHP實作找出缺失數字的方法:1、建立一個php範例檔案;2、檢查範例資料的成長法則;3、透過「nums[i] == i」或「nums[i] > ; i」方式決定缺失值的位置;4、定義「function missingNumber($nums) {...}」方法來找出缺失數字即可。

PHP怎麼實作找缺少數字

本教學操作環境:Windows7系統、PHP8.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,那麼缺失的值一定在i的右側;

如果查詢過程中nums[i] > i,那麼缺少的值一定在左邊;所以最後只要回傳min 即為結果。

代碼

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