77.求多个数组的公共子集(交集)

书诚小驿2025/03/09前端面经算法Javascript

求多个数组的公共子集(交集)

题目描述

给定两个数组,返回两个数组的交集(去重)。

示例

  1. 示例 1:
输入:[1,2,2,1], [2,2]
输出:[2]
  1. 示例 2:
输入:[4,9,5], [9,4,9,8,4]
输出:[9,4]

提示

  • 0 <= nums1.length, nums2.length <= 1000
  • 0 <= nums1[i], nums2[i] <= 1000

code

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
let nums1 = [1, 2, 2, 1];
let nums2 = [2, 2];
var intersection = function (nums1, nums2) {
  // 请在此处编写代码
};
console.log(intersection(nums1, nums2));

参考答案

DETAILS
let nums1 = [1, 2, 2, 1];
let nums2 = [2, 2];
var intersection = function (nums1, nums2) {
  // 请在此处编写代码
  let set1 = new Set(nums1);
  let set2 = new Set(nums2);
  let set3 = new Set();
  for (let item of set1) {
    if (set2.has(item)) {
      set3.add(item);
    }
  }
  return [...set3];
};
console.log(intersection(nums1, nums2));
最后更新时间' 2025/3/9 18:24:05