两个数组的交集
题意:给定两个数组,编写一个函数来计算它们的交集。
方法1: 使用js方法
var intersection = function(nums1, nums2) {
return Array.from(new Set(nums1.filter(item => nums2.includes(item))))
};
方法2:利用哈希表
var intersection = function(nums1, nums2) {
// 交换位置 保证nums2.length < nums1.length
if (nums1.length < nums2.length) {
var temp = nums1;
nums1 = nums2;
nums2 = temp;
}
var set1 = new Set(nums1);
var retSet = new Set();
for (let i = 0; i < nums2.length; i++) {
set1.has(nums2[i]) && retSet.add(nums2[i]);
}
return Array.from(retSet);
};