448. 找到所有数组中消失的数字
分类:数组,哈希?
将值转换为下标,下标对应的数值+=n(一个原数组不可能出现的值)
扫描一遍数组,数值没能大于n的下标即是没有出现的值(因为没有值被转换为这个下标)
class Solution {
public:
vector<int> findDisappearedNumbers(vector<int>& nums) {
int n = nums.size();
for(int& num : nums) nums[(num-1)%n] += n;
vector<int> ans;
for(int i=0; i<n; i++) if(nums[i] <= n) ans.push_back(i+1);
return ans;
}
};
2021/02/13