剑指 Offer 53 - II. 0~n-1中缺失的数字
思路一:简单for循环找
class Solution {public:int missingNumber(vector<int>& nums) {if(nums.empty()) return 0;int res=nums[0];for(int i=0;i<nums.size();i++){if(nums[i]!=i){res = i;break;}res = i+1;}return res;}};
思路二:二分法
class Solution {public:int missingNumber(vector<int>& nums) {if(nums.empty()) return 0;int low = 0,high = nums.size()-1;while(low<=high){int middel = (high+low)/2;if(nums[middel]==middel) low = middel+1; //如果低位的正确,则low指针移动else high = middel -1;}return low;}};
如果觉得《LeetCode-剑指 Offer 53 - II. 0~n-1中缺失的数字》对你有帮助,请点赞、收藏,并留下你的观点哦!