哈希表-两个数组的交集

59 阅读1分钟

两个数组的交集

题意:给定两个数组,编写一个函数来计算它们的交集。

方法1: 使用js方法

var intersection = function(nums1, nums2) {
    return Array.from(new Set(nums1.filter(item => nums2.includes(item))))
};

方法2:利用哈希表

var intersection = function(nums1, nums2) {
    // 交换位置 保证nums2.length < nums1.length
    if (nums1.length < nums2.length) {
        var temp = nums1;
        nums1 = nums2;
        nums2 = temp;
    }
    var set1 = new Set(nums1);
    var retSet = new Set();
    for (let i = 0; i < nums2.length; i++) {
        set1.has(nums2[i]) && retSet.add(nums2[i]);
    }
    return Array.from(retSet);
};