题目
给定两个数组,编写一个函数来计算它们的交集。
示例 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) {
HashMap<Integer,Integer> map = new HashMap<Integer, Integer>();
HashMap<Integer,Integer> res = new HashMap<Integer, Integer>();
for (int i : nums1) {
if(!map.containsKey(i)){
map.put(i, i);
}
}
for (int i : nums2) {
if(map.containsKey(i)){
if(!res.containsKey(i)){
res.put(i, i);
}
}
}
int[] r = new int[res.size()];
int index = 0;
for (Integer i : res.keySet()) {
r[index++] = res.get(i);
}
return r;
}
}