class Solution {
public:
int getMissingNumber(vector<int>& nums)
{
if(!nums.size())
return 0;
/*
需要首先弄清楚二分的判断条件:下标和值是一一相对的
一段为下标和值一一相对的区间
另一段为下标和值不能一一相对的区间
*/
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;
}
}
if(nums[l] == l)
l++;
return l;
}
};