Intersection of Two Arrays II
给两个数组, 找出相同元素, 数组的元素可能有重复, 返回的数组也可能有重复.
class Solution {
public int[] intersect(int[] nums1, int[] nums2) {
Map<Integer, Integer> map = new HashMap<>();
for(int n : nums1) {
map.put(n, map.getOrDefault(n,0)+1);
}
List<Integer> res = new ArrayList<>();
for(int n : nums2) {
if(map.containsKey(n)) {
if(map.get(n) > 0) {
map.put(n, map.get(n) - 1);
res.add(n);
}
}
}
int[] ary = new int[res.size()];
for(int i = 0 ; i < res.size(); i++) {
ary[i] = res.get(i);
}
return ary;
}
}