class Solution {
public:
int getNumberSameAsIndex(vector<int>& nums) {
int l=0,r=nums.size()-1;
while(l<r){
int mid=l+r>>1;
if(nums[mid]-mid>=0){//找这种情况出现的区域,数值大,标号小,很显然出现在左边的那个区域
r=mid;
}
else l=mid+1;
}
if(nums[l]!=l){
return -1;
}
else return l;
}
};