PHP method to find missing numbers: 1. Create a php sample file; 2. Check the growth pattern of the sample data; 3. Through "nums[i] == i" or "nums[i] > ; i" method to determine the location of missing values; 4. Find missing numbers by defining the "function missingNumber($nums) {...}" method.
The operating environment of this tutorial: Windows 7 system, PHP version 8.1, Dell G3 computer.
How to find missing numbers in PHP?
PHP Calculate the missing numbers from 0 to n-1
The missing numbers from 0 to n-1
A length is All numbers in an ascending sorted array of n-1 are unique, and each number is in the range 0 to n-1. Among the n numbers in the range 0~n-1, there is only one number that is not in the array. Please find this number.
Example 1:
输入: [0,1,3] 输出: 2
Example 2:
输入: [0,1,2,3,4,5,6,7,9]
Output: 8
Solution ideas
Simple binary search, the meaning of the question is clear that all numbers are increasing, and the value range of all numbers is in [0, n-1] and is unique, so we can find such a rule:
As long as nums[i] == i during the query process, then the missing value must be on the right side of i;
If nums[i] > i during the query process, then the missing value must be on the left side; So in the end, just return min as the result.
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; } }
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to find missing numbers in PHP. For more information, please follow other related articles on the PHP Chinese website!