Earliest Uniques in a Stream
Implement a data structure with the following methods:
EarliestUnique(int[] nums)
constructs a new instance with the given list of numbers.add(int num)
addsnum
to the data structure.firstUnique()
returns the first unique number. If there’s no unique number, return-1
.
Constraints
n ≤ 100,000
wheren
is the number of calls toadd
andfirstUnique
.
https://binarysearch.com/problems/Earliest-Uniques-in-a-Stream
Examples
Example 1
Input
- methods =
['constructor', 'add', 'earliestUnique', 'add', 'earliestUnique']
- arguments =
[[[1, 2, 3]], [1], [], [2], []]
Output
- answer =
[None, None, 2, None, 3]
Explanation
e = EarliestUnique([1, 2, 3])
e.add(1)
e.earliestUnique() == 2
e.add(2)
e.earliestUnique() == 3
Leave a comment