PS/LeetCode

[LeetCode][JavaScript] 442. Find All Duplicates in an Array

returnzero 2022. 8. 17. 14:44
/**
 * @param {number[]} nums
 * @return {number[]}
 */
var findDuplicates = function(nums) {
    const ans=[];
    for(let i=0;i<nums.length;i++){
        const num=Math.abs(nums[i]);
        if(nums[num-1]<0){
            ans.push(num)
            continue;
        }
        nums [num-1] *= -1;
    }
    return ans
};

Extra Constant Space, O(N) time complexity를 요구하는 문제이다. 꽤나 까다로워보이지만 well-known인 문제다. 

Array의 element value에 해당하는 index에 접근해서 *=-1 을 해주면 된다.