一、了解题目
附上原题链接:349. 两个数组的交集
给定两个数组,编写一个函数来计算它们的交集。
示例:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
二、题解分析
(1)解题思路
- 求交集且无序唯一;
- 使用集合。
(2)解题步骤
- 用集合的方法对
nums1和nums2进行去重; - 遍历
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 ]
以上就是关于两个数的交集的题解,不知道对小伙伴们是否有帮助呢?
我们下期见👋👋👋