349. 两个数组的交集
题目链接
一、哈希表
var intersection = function(nums1, nums2) {
let res = []
let s = new Set(nums1)
for(const i of nums2){
if(s.has(i)){
res.push(i)
}
}
return [...new Set(res)]
};
2、排序+双指针
var intersection = function(nums1, nums2) {
nums1.sort((x,y) => (x-y))
nums2.sort((x,y) => (x-y))
let res = []
let index1 = 0, index2 = 0
while(index1 < nums1.length && index2 < nums2.length){
let num1 = nums1[index1], num2 = nums2[index2]
if(num1 == num2){
if(!res.length || num1 != res[res.length-1]){
res.push(num1)
}
index1++
index2++
}else if(num1 < num2){
index1++
}else{
index2++
}
}
return res
};
