442_FindAllDuplicatesinanArray - a920604a/leetcode GitHub Wiki


title: 442. Find All Duplicates in an Array categories: leetcode comments: false

solution

class Solution {
public:
    vector<int> findDuplicates(vector<int>& nums) {
        vector<bool> vec(100001,false);
        vector<int> ret;
        for(int a:nums){
            if(vec[a]) ret.push_back(a);
            else vec[a] = true;
        }
        return ret;
    }
};
class Solution {
public:
    vector<int> findDuplicates(vector<int>& nums) {
        int n = nums.size();
        vector<int> ret;
        for(int i=0;i<n;++i){
            int idx = abs(nums[i])-1;
            if(idx < n && nums[idx]>0) nums[idx] *=-1;
            else if(idx<n && nums[idx]<0) ret.push_back(abs(nums[i]));
        }
        return ret;
    }
};

analysis

  • time complexity O(n)
  • space complexity O(1)
⚠️ **GitHub.com Fallback** ⚠️