「链表」leetcode 2.两数相加(中等)

40 阅读1分钟

一、了解题目

附上原题链接:349. 两个数组的交集

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

示例:

输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]

二、题解分析

(1)解题思路

  • 求交集且无序唯一;
  • 使用集合。

(2)解题步骤

  • 用集合的方法对 nums1nums2 进行去重;
  • 遍历 nums1 ,筛选出 nums2 中也包含的值。

三、代码实现

依据上面的题解,我们将用 js 来实现这道题。具体实现代码如下:

/**
 * 
 * @param {数组1} nums1 
 * @param {数组2} nums2 
 * @returns 
 */
let intersection = function(nums1, nums2){
​
    // 1.对nums1进行数组去重
    const arr1 = new Set(nums1);
    // 2.对nums2进行数组去重
    const arr2 = new Set(nums2);
    
    // 3.过滤掉arr1在arr2中已经有的元素,过滤结果即为交集
    // has可改为includes
    const arr3 = [...arr1].filter(item => arr2.has(item));
    // 4.返回结果
    return arr3;
}
console.log(intersection([1,2,3,4],[4,6,8])); // [ 4 ]

以上就是关于两个数的交集的题解,不知道对小伙伴们是否有帮助呢?

我们下期见👋👋👋