Closed congr closed 5 years ago
O(M+N)
class Solution {
public int[] intersect(int[] nums1, int[] nums2) {
Map<Integer, Integer> map = new HashMap();
for (int n : nums1)
map.merge(n, 1, Integer::sum);
List<Integer> list = new ArrayList();
for (int n : nums2) {
if (map.merge(n, -1, Integer::sum) >= 0) list.add(n);
}
int i = 0;
int[] res = new int[list.size()];
for (int n : list) res[i++] = n;
return res;
}
}
https://leetcode.com/problems/intersection-of-two-arrays-ii/