集合
小于 1 分钟约 212 字...
简介
一种无序且唯一的数据结构
LeetCode:349. 两个数组的交集
- 解题思路
求交集且无序唯一,使用集合
- 解题步骤
用集合对 nums1
去重,然后遍历 nums1
,筛选出 nums2
也包含的值
/*
* @lc app=leetcode.cn id=349 lang=javascript
*
* [349] 两个数组的交集
*/
// @lc code=start
/**
* @param {number[]} nums1
* @param {number[]} nums2
* @return {number[]}
*/
var intersection = function (nums1, nums2) {
// 集合
// return [...new Set(nums1)].filter((item) => {
// return nums2.includes(item)
// })
// 字典
let m = new Map()
nums1.forEach((item) => {
m.set(item, true)
})
let res = []
nums2.forEach((item) => {
if (m.get(item)) {
res.push(item)
m.delete(item)
}
})
return res
}
// @lc code=end
/*
* @lc app=leetcode.cn id=349 lang=typescript
*
* [349] 两个数组的交集
*/
// @lc code=start
function intersection(nums1: number[], nums2: number[]): number[] {
return [...new Set(nums1)].filter((num) => nums2.includes(num))
}
// @lc code=end