https://leetcode-cn.com/problems/intersection-of-two-arrays/
点击查看【bilibili】
题目
示例
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
解答
考虑保证不重复,要用set
答案
var intersection = function(nums1, nums2) {
const result = new Set()
for(num of nums1) {
// includes 嵌套循环 数组搜索值,复杂度O(n)
// Set Map - has 复杂度O(1)
if(nums2.includes(num)) {
result.add(num)
}
}
return Array.from(result)
};
优化
var intersection = function(nums1, nums2) {
const result = new Set()
const set = new Set(nums2)
for(num of nums1) {
if(set.has(num)) {
result.add(num)
}
}
return Array.from(result)
};