349. Intersection of Two Arrays - jiejackyzhang/leetcode-note GitHub Wiki
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.
 
Array类题目。
由于不能重复,因此可以采用HashSet来解。 将nums1的元素存入HashSet,若nums2中的元素在HashSet中,则属于两者的intersection。 最后转换为数组即可。
public class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        Set<Integer> hs1 = new HashSet<Integer>();
        for(int i : nums1) {
            hs1.add(i);
        }
        Set<Integer> intersect = new HashSet<Integer>();
        for(int i : nums2) {
            if(hs1.contains(i)) {
                intersect.add(i);
            }
        }
        int[] res = new int[intersect.size()];
        int i = 0;
        for(Integer num : intersect) {
            res[i++] = num;
        }
        return res;
    }
}