publicclass Solution {
publicintmissingNumber(int[] nums) {
int len = nums.length;
//先求出0到n的和int expect = len*(len+1)/2;
//求出实际数组的元素总和int actual = 0;
for(int i = 0; i < len; i++){
actual += nums[i];
}
int result = expect - actual;
return result;
}
}
通过二分查找求出缺失的值
publicclass Solution {
publicintmissingNumber(int[] nums) {
int len = nums.length;
int left = 0;
int right = len-1;
while(left < right){
int mid = left + (right-left)/2;
if(nums[mid] > mid){
right = mid;//注意此处right不是等于mid-1
}else{
left = mid+1;
}
}
return left;
}
}