448. Find All Numbers Disappeared in an Array
[思路]:
vector<int> findDisappearedNumbers(vector<int>& nums) {
// 数组中最大的数等于数组大小,那么数组中的数字作为下标,
//将出现的数字n,对应的数组下标nums[n-1]中的改为负数,
//那么不存在的数字的下标中存在的数是大于0
vector<int> res;
int tmp =0,n=nums.size();
for(int i=0;i<n;i++){
int val = abs(nums[i]) -1;
if(nums[val]>0)
nums[val] = -nums[val];
}
for(int i =0;i<n;i++)
{
if(nums[i]>0)
res.push_back(i+1);
}
return res;
}
网友评论