我的解题:
1.从头到尾的遍历
需要注意理解题目,一定会缺一个数字的,前面的都匹配上的话,缺的就是n-1
class Solution {
public:
int missingNumber(vector<int>& nums) {
for(int i=0;i<nums.size();i++){
if(nums[i]!=i) return i;
}
return nums.size();
}
};
2.二分查找那么香~
class Solution {
public:
int missingNumber(vector<int>& nums) {
int i=0,j=nums.size()-1;
while(i<=j){
int mid=(i+j)/2;
if(nums[mid]==mid) i=mid+1;
else j=mid-1;
}
return i;
}
};