题目描述:
给定两个数组,编写一个函数来计算它们的交集。
解析:
1.首先创建两个set,先把num1数组放入一个set,然后遍历nums2,判断第一个set里是否有num[i]的值,如果有则加入第二个set里
2.把第二个set转为数组,最后返回即可
Java:
public int[] intersection(int[] nums1, int[] nums2) {
HashSet<Integer> set = new HashSet<Integer>();
HashSet<Integer> result = new HashSet<Integer>();
for(int num : nums1) {
set.add(num);
}
for(int num :nums2) {
if(set.contains(num)) {
result.add(num);
}
}
int[] resultArr = new int[result.size()];
int i = 0;
for(int num : result) {
resultArr[i++] = num;
}
return resultArr;
}
JavaScript:
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);
};