Find Duplicate Element

Find duplicate element in array of size n+1 with elements 1 to n.

AdvancedPhase 4 - Level 5: Logical & AppliedExample 14 of 14
find-duplicate-element.py
1# Take array
2n = int(input("Enter n: "))
3arr = []
4for i in range(n + 1):
5 arr.append(int(input(f"Element {i+1}: ")))
6
7# Find duplicate using sum
8expected_sum = n * (n + 1) // 2
9actual_sum = sum(arr)
10duplicate = actual_sum - expected_sum
11
12print(f"Duplicate: {duplicate}")

Output

Enter n: 4
Element 1: 1
Element 2: 2
Element 3: 3
Element 4: 4
Element 5: 3
Duplicate: 3

What's going on

Use sum difference to find duplicate.

Key Concepts:

Expected sum for 1 to n
Actual sum includes duplicate
Duplicate = actual - expected