Hash Map / Set· 15 min
Find the Difference of Two Arrays
LeetCode #2215 · Easy · Interactive step-by-step visualization
Setup
Example input
nums1 = [1,2,3], nums2 = [2,4,6]Step 1 / 8
Current step
1 / 8Build two sets. Sets remove duplicates and give constant-time membership checks. Unique sets: {1,2,3} and {2,4,6}.
Step log
nums1
1
02
13
2nums2
2
04
16
2firstSet
{1,2,3}
secondSet
{2,4,6}
Active cursor
Comparing
Best or completed
Leaving or removed
find-the-difference-of-two-arrays.java
1public List<List<Integer>> findDifference(int[] nums1, int[] nums2) {2 Set<Integer> first = Arrays.stream(nums1).boxed().collect(Collectors.toSet());3 Set<Integer> second = Arrays.stream(nums2).boxed().collect(Collectors.toSet());4 List<Integer> onlyFirst = new ArrayList<>();5 for (int value : first) if (!second.contains(value)) onlyFirst.add(value);6 List<Integer> onlySecond = new ArrayList<>();7 for (int value : second) if (!first.contains(value)) onlySecond.add(value);8 return List.of(onlyFirst, onlySecond);9}● Java
Time
O(n + m)
Space
O(n + m)
Pattern
hashing
Frames
8
