Question Description. Link
Given an array
athat contains only numbers in the range from1toa.length, find the first duplicate number for which the second occurrence has the minimal index. In other words, if there are more than 1 duplicated numbers, return the number for which the second occurrence has a smaller index than the second occurrence of the other number does. If there are no such elements, return-1.
-
For
a = [2, 1, 3, 5, 3, 2], the output should befirstDuplicate(a) = 3.- There are
2duplicates: numbers2and3. - The second occurrence of 3 has a smaller index than the second occurrence of
2does, so the answer is3.
- There are
-
For
a = [2, 2], the output should befirstDuplicate(a) = 2. -
For
a = [2, 4, 3, 5, 1], the output should befirstDuplicate(a) = -1.