0-n-1 中缺失的数字

穿过雾的阴霾 / 2023-05-05 / 原文

class Solution {
public:
    int getMissingNumber(vector<int>& nums) {
        if(!nums.size()) return 0;
        int l=0,r=nums.size()-1;
        while(l<r)//找到第一个满足nums[i]=i+1的下标
        {
            int mid=l+r>>1;
            if(nums[mid]==mid)
                l=mid+1;
            else r=mid;
        }
        if(nums[l]==l)  return nums.size();
        else return nums[l]-1;
    }
};