一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。
主要是想练习二分,用这个题目🪵
可以遍历/可以等差数列求和比较/……
int missingNumber(int* nums, int numsSize){ int mid; int low = 0; int high = numsSize-1; if(nums[low] == 1) return low; if(nums[high] == high) return high+1; while(low < high) //low 不能与 high相等 { mid = (low+high)/2; // printf("%d",mid); if(nums[mid] != mid) { //dangqianyijingjingliqueshi high = mid; } else { low = mid+1; } } return low; }