69. 数组中数值和下标相等的元素

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

class Solution {
public:
    int getNumberSameAsIndex(vector<int>& nums) {
        int n=nums.size();
        int l=0,r=n-1;
        while(l<r)
        {
            int mid=l+r>>1;
            if(nums[mid]<mid)   l=mid+1;
            else r=mid;
        }
        if(nums[l]==l)  return l;
        else return -1;
    }
};