一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。
class Solution {
public int missingNumber(int[] nums) {
int l = 0;
int r = nums.length - 1;
while(l <= r){
int m = l + (r - l)/2;
if(nums[m] == m){
l = m + 1;
}else if(nums[m] > m){
r = m - 1;
}
}
return l;
}
}
执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:42.4 MB, 在所有 Java 提交中击败了9.86%的用户
通过测试用例:122 / 122