给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

    示例 1:
    输入:nums1 = [1,2,2,1], nums2 = [2,2]
    输出:[2]
    示例 2:
    输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
    输出:[9,4]
    解释:[4,9] 也是可通过的

    1. /**
    2. * @param {number[]} nums1
    3. * @param {number[]} nums2
    4. * @return {number[]}
    5. */
    6. var intersection = function (nums1, nums2) {
    7. let set = new Set();
    8. let map = new Map();
    9. for (num1 of nums1) {
    10. map.set(num1, (map.get(num1) || 0) + 1)
    11. }
    12. for(let i = 0; i < nums2.length; i += 1) {
    13. let curr = nums2[i];
    14. if(map.has(curr)) set.add(curr)
    15. }
    16. return [...set]
    17. };

    image.png