题目描述
可以套模板,题目也比较好理解无非是一开始出现[0]的情况下输出1是没想明白,然后才整明白是假如有n的数字那么正确的数组就要含有0~n个数,所以有if(nums.back()==nums.size()-1)return nums.size();
判断一下最后一个数字是不是等于一个数组长度减1如果是那么久返回数组本身长度
样例
class Solution {
public:
int getMissingNumber(vector<int>& nums) {
if(nums.empty())return 0;
if(nums.back()==nums.size()-1)return nums.size();
int l=0,r=nums.size()-1;
while(l<r)
{
int mid = l+r>>1;
if(nums[mid]!=mid)r=mid;
else l = mid+1;
}
return l;
}
};