[LeetCode][2215. Find the Difference of Two Arrays] Java HashSet Solution
By Long Luo
This article is the solution Java HashSet Solution of Problem 2215. Find the Difference of Two Arrays.
Intuition
We can use \(\texttt{HashSet}\) to record the distinct integers of the two arrays and judge whether a distinct integer in \(\textit{nums}_1\) which not present in \(\textit{nums}_2\).
We can only use \(2\) \(\texttt{HashSet}\), not \(4\) \(\texttt{HashSet}\).1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20public List<List<Integer>> findDifference(int[] nums1, int[] nums2) {
    Set<Integer> set1 = new HashSet<>();
    Set<Integer> set2 = new HashSet<>();
    for (int num : nums1) {
        set1.add(num);
    }
    for (int num : nums2) {
        set2.add(num);
        set1.remove(num);
    }
    for (int num : nums1) {
        set2.remove(num);
    }
    List<List<Integer>> ans = new ArrayList<>();
    ans.add(new ArrayList<>(set1));
    ans.add(new ArrayList<>(set2));
    return ans;        
}