Array & Hashing
03. Contains Duplicate
Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.
Examples
Example 1
Input: nums = [1,2,3,1]
Output: true
Explanation: The element 1 occurs at the indices 0 and 3.
Example 2
Input: nums = [1,2,3,4]
Output: false
Explanation: All elements are distinct.
Example 3
Input: nums = [1,1,1,3,3,4,3,2,4,2]
Output: true
Constraints
- 1 <= nums.length <= 10^5
- -10^9 <= nums[i] <= 10^9
from typing import Dict, List
# Hash map approach
def containsDuplicateWithHashMap(nums: List[int]) -> bool:
hash_map: Dict[int, int] = {}
for i, v in enumerate(nums):
if v in hash_map:
return True
hash_map[v] = i
return False
# Optimal approach using a set (faster lookups, no index storage)
def containsDuplicateWithSet(nums: List[int]) -> bool:
hashset: set[int] = set()
for n in nums:
if n in hashset:
return True
hashset.add(n)
return False Keyboard shortcuts
← h Previous problem
→ l Next problem
Esc Back to index
? Toggle this help