/*class Solution {
public:
//时间O(n),空间O(1)
int missingNumber(vector<int>& nums) {
int len = nums.size();
if(len == 0) return -1;
int i = 0;
for( ; i < len; i++) {
if(nums[i] != i) {
return i;
}
}
return i;
}
};*/
class Solution {
public:
//二分查找
//时间O(logn),空间O(1)
int missingNumber(vector<int>& nums) {
int len = nums.size();
if(len == 0) return -1;
int left = 0, right = len - 1;
while(left <= right) {
int mid = left + (right - left) / 2;
if(nums[mid] == mid) {
left++;
}else {
right--;
}
}
return left;
}
};
剑指 Offer 53 - II. 0~n-1中缺失的数字
最新推荐文章于 2022-07-05 11:12:29 发布