LeetCode笔记:两个数组的交集

问题

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

示例 1:

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

输出:[2]

示例 2:

输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]

输出:[9,4]

说明:

  • 输出结果中的每个元素一定是唯一的。
  • 我们可以不考虑输出结果的顺序。

解法

思路:

  1. 循环其中一个数组,判断每一个数字是否包含在另一个数组中
  2. 存储每一个包含的数字,最后去重即可

代码:

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
var intersection = function (nums1, nums2) {
  // 存储结果
  const res = [];
  // 循环第一个数组
  nums1.forEach((n) => {
    // 在第二个数组中寻找也在第一个数组中的数字
    if (nums2.includes(n)) {
      res.push(n);
    }
  });

  // 去重
  return [...new Set(res)];
};

参考

评论