题目描述
解法 二分法
能省事就不自己写了。
class Solution {
public:
int missingNumber(vector<int>& nums) {
int l = 0, r = nums.size() - 1;
//cout<< "l:"<<l <<" "<< "r:" << r;
while(l <= r) {
int mid = (l + r) >> 1;
if(mid == nums[mid]) l = mid + 1;
else r = mid - 1;
//cout<< "l:"<<l <<" "<< "r:" << r;
}
return l;
}
};
时间复杂度O(logN)
空间复杂度O(N)