Skip to content

Latest commit

 

History

History
44 lines (38 loc) · 926 Bytes

File metadata and controls

44 lines (38 loc) · 926 Bytes

Array

Screen Shot 2023-01-06 at 10 01 05 PM

Set

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
var intersection = function(nums1, nums2) {
    let set = new Set(nums1);
    return [...new Set(nums2.filter((num) => set.has(num)))];
};

HashMap

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
var intersection = function(nums1, nums2) {
    let map = new Map();
    let stack = [];

    for(let i = 0; i < nums1.length; i++) {
        if(!map.has(nums1[i])) {
            map.set(nums1[i], i);
        }
    }

    for(let i = 0; i < nums2.length; i++) {
        if(map.has(nums2[i])) {
            stack.push(nums2[i]);
            map.delete(nums2[i]);
        }
    }

    return stack;
};