//挖个坑:AcWing 69. 数组中数值和下标相等的元素
class Solution {//mid看成y=x,x=mid的情况。nums[mid]看成y=nums[mid]的情况,mid是x的其中一个取值
public:
int getNumberSameAsIndex(vector<int>& nums) {
//题意很奇怪。。。
//定义左右指针
int l = 0;
int r = nums.size() - 1;
while(l<r){
int mid = l+r>>1;
if(nums[mid]>=mid)r = mid;
else l = mid + 1;
}
if(nums[r]==r)return r;
return -1;
}
};