Intersection of Two Arrays

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;
    }
}
comments powered by Disqus