题目
给定两个数组,编写一个函数来计算它们的交集。
示例
输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]
说明
1.输出结果中的每个元素一定是唯一的。
2.我们可以不考虑输出结果的顺序。
题解
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
HashSet<Integer> set1 = new HashSet<Integer>();//如果数据量大,应当考虑使用TreeSet
for (Integer n : nums1) set1.add(n);
List<Integer> list = new ArrayList<Integer>();
for (Integer n : nums2) {
if(set1.contains(n)){
list.add(n);
set1.remove(n);
}
}
int[] output =new int[list.size()];
for(int i=0;i<list.size();i++){
output[i]=list.get(i);
}
return output;
}
}