返回两个数组的交集
注意事项
Each element in the result must be unique.
The result can be in any order.
样例
nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].
public int[] intersection(int[] nums1, int[] nums2) {
// Write your code here
HashSet<Integer> hashSet1 = new HashSet<>();
HashSet<Integer> hashSet2 = new HashSet<>();
for(int i = 0;i<nums1.length;i++){
hashSet1.add(nums1[i]);
}
for(int i = 0;i<nums2.length;i++){
if(hashSet1.contains(nums2[i])&& !hashSet2.contains(nums2[i])){
hashSet2.add(nums2[i]);
}
}
int index = 0;
int []res = new int[hashSet2.size()];
for (int i : hashSet2) {
res[index] = i;
index ++ ;
}
return res;
}
解析:
使用HashSet,HashSet内部不允许有重复元素