AAlgoLoopSpaced repetition for LeetCode
EASYHash Map / SetLeetCode ↗

Find the Difference of Two Arrays

The key idea

Convert each array to a set so duplicates collapse and membership tests are O(1). The first answer list is the elements of set1 that are not in set2; the second is the elements of set2 not in set1. Build both with one pass over each set.

Problem

Given two 0-indexed integer arrays nums1 and nums2, return a list answer of size 2 where:
- answer[0] is a list of all distinct integers in nums1 which are not present in nums2.
- answer[1] is a list of all distinct integers in nums2 which are not present in nums1.

Note that the integers in the lists may be returned in any order.

Constraints

Examples

Input: nums1 = [1,2,3], nums2 = [2,4,6] Output: [[1,3],[4,6]]
Input: nums1 = [1,2,3,3], nums2 = [1,1,2,2] Output: [[3],[]]

Complexity

Time: O(n + m) Space: O(n + m)

See the full solution

410310
Step-by-step visualization
Start free →

More Hash Map / Set problems