剑指 Offer 53 - II. 0~n-1中缺失的数字
程序员文章站
2023-12-28 10:35:40
...
2020-07-03
1.题目描述
一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。
在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。
2.题解
有序查找的问题,我们可以使用二分法来进行解决
3.代码
class Solution {
public:
int missingNumber(vector<int>& nums) {
int len=nums.size();
int l=0,h=len-1;
while (l<=h){
int m=(l+h)/2;
if (m==nums[m]) l=m+1;
else h=m-1;
}
return l;
}
};