Given two arrays, write a function to compute their intersection.
Example:
Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2].
Note:
Each element in the result must be unique. The result can be in any order.
Solution:
public class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> set1 = new HashSet<>();
for(int n : nums1) set1.add(n);
Set<Integer> set2 = new HashSet<>();
for(int n : nums2) if(set1.contains(n)) set2.add(n);
int[] ans = new int[set2.size()];
int i=0;
for(Integer n : set2) ans[i++] = n;
return ans;
}
}