【数据结构与算法】力扣 349. 两个数组的交集

题目描述

给定两个数组 nums1 和 nums2 ,返回 *它们的 *

交集

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

示例 1:

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

示例 2:

输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]
解释: [4,9] 也是可通过的

提示:

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

分析解答

看到唯一,可以直接想到用 Set。然后思路嘛,没什么难的,直接上代码。

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
var intersection = function (nums1, nums2) {
    let res = []
    for (let i = 0; i < nums1.length; i++) {
        let item = nums1[i]
        for (let j = 0; j < nums2.length; j++) {
            if (item == nums2[j]) {
                res.push(item)
            }
        }
    }
    return [...new Set([...res])]
};
let nums1 = [1, 2, 2, 1], nums2 = [2, 2]
console.log(intersection(nums1, nums2))

思路拓展

就是一些简单点的写法。

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
var intersection = function (nums1, nums2) {
    if (nums1.length < nums2.length) {
        [nums1, nums2] = [nums2, nums1]
    }
    let nums1Set = new Set(nums1)
    let resSet = new Set()
    // for (const number of nums2) {
    //     nums1Set.has(number) && resSet.add(number)
    // }
    // 循环 比 迭代器快
    for(let i = nums2.length - 1; i >= 0; i--) {
        nums1Set.has(nums2[i]) && resSet.add(nums2[i]);
    }
    return Array.from(resSet)
};

let nums1 = [1, 2, 2, 1], nums2 = [2, 2]
console.log(intersection(nums1, nums2))
// intersection(nums1,nums2)
/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
var intersection = function (nums1, nums2) {
    return Array.from(new Set(nums1.filter(item => nums2.includes(item))))
};

let nums1 = [1, 2, 2, 1], nums2 = [2, 2]
console.log(intersection(nums1, nums2))
// intersection(nums1,nums2)

相关推荐

  1. 数据结构算法】力 349. 交集

    2024-04-11 19:56:04       15 阅读
  2. -349. 交集

    2024-04-11 19:56:04       10 阅读
  3. LeetCode349.交集

    2024-04-11 19:56:04       21 阅读
  4. Leetcode349和350 交集问题思考

    2024-04-11 19:56:04       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-11 19:56:04       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-11 19:56:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-11 19:56:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-11 19:56:04       18 阅读

热门阅读

  1. [xboard]ok210-3 S5PV210光盘资料与功能测试

    2024-04-11 19:56:04       15 阅读
  2. Go-学会 map 的基本使用

    2024-04-11 19:56:04       17 阅读
  3. Android.mk文件中添加so

    2024-04-11 19:56:04       13 阅读
  4. 正交投影的矩阵(基变换与过渡矩阵的例子)

    2024-04-11 19:56:04       22 阅读
  5. 【QT教程】QT6 Web开发入门

    2024-04-11 19:56:04       12 阅读
  6. ubuntu22.04 静态IP设置脚本

    2024-04-11 19:56:04       12 阅读
  7. set和map

    set和map

    2024-04-11 19:56:04      11 阅读
  8. FP独立站收款必备!AB站跳转轮询全解析

    2024-04-11 19:56:04       11 阅读