w3resource

Python: Find the first duplicate element in a given array of integers

Python: Array Exercise-15 with Solution

Write a Python program to find the first duplicate element in a given array of integers. Return -1 If there are no such elements.

Sample Solution:

Python Code :

def find_first_duplicate(nums):
    num_set = set()
    no_duplicate = -1

    for i in range(len(nums)):

        if nums[i] in num_set:
            return nums[i]
        else:
            num_set.add(nums[i])

    return no_duplicate

print(find_first_duplicate([1, 2, 3, 4, 4, 5]))
print(find_first_duplicate([1, 2, 3, 4]))
print(find_first_duplicate([1, 1, 2, 3, 3, 2, 2]))

Sample Output:

4
-1
1

Python Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a Python program to find if a given array of integers contains any duplicate element. Return true if any value appears at least twice in the said array and return false if every element is distinct.
Next: Python Conditional Statements and Loops Exercises Home.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Python: Membership Testing in a Collection

>>> a = ('one', 'two', 'three', 'four', 'five')
>>> if 'one' in a:
...     print('The tuple contains one.')
... 
The tuple contains one.
>>> b = {0: 'zero', 1: 'one', 2: 'two', 3: 'three'}
>>> if 2 in b.keys():
...     print('The dict has the key of 2.')
... 
The dict has the key of 2.