K神:排序数组的查找问题,首先想到二分法。
下面是自己写的二分法,不枉昨天研究了三小时,掌握了精髓。
class Solution {
public:
int missingNumber(vector<int>& nums) {
//二分查找
int left=0,right=nums.size()-1;
while(left<=right){
int mid=left+((right-left)>>1);
if(nums[mid]==mid){ //想清楚需要查找的数字在哪一块区域
left=mid+1;
}
else{
right=mid-1;
}
}
return left;
}
};