PHP實作找出缺失數字的方法:1、建立一個php範例檔案;2、檢查範例資料的成長法則;3、透過「nums[i] == i」或「nums[i] > ; i」方式決定缺失值的位置;4、定義「function missingNumber($nums) {...}」方法來找出缺失數字即可。
本教學操作環境: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中文網其他相關文章!