Problem describe:
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2]
示例 2:
输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]
说明:
输出结果中的每个元素一定是唯一的。
我们可以不考虑输出结果的顺序。
解法:
采用两个哈希集合:
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> inter =new HashSet<>();
Set<Integer> set =new HashSet<>();
for(int i=0;i<nums1.length;++i)
set.add(nums1[i]);
for(int j=0;j<nums2.length;++j)
if(set.contains(nums2[j]))
inter.add(nums2[j]);
int[] result =new int[inter.size()];
int i=0;
for(Integer m:inter)
result[i++]=m;
return result;
}
}