LC 217 - Contains Duplicate
LC 217 - Contains Duplicate
Question
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.
Example 1:
1
2
Input: nums = [1,2,3,1]
Output: true
Explanation:
The element 1 occurs at the indices 0 and 3.
Example 2:
1
2
Input: nums = [1,2,3,4]
Output: false
Explanation:
All elements are distinct.
Example 3:
1
2
Input: nums = [1,1,1,3,3,4,3,2,4,2]
Output: true
Constraints:
1 <= nums.length <= 105-109 <= nums[i] <= 109
Links
Question here and solution here
Solution
concept
The main concept here is to use hashset since adding and checking value in it is an $O(1)$ operations
code
1
2
3
4
5
6
7
8
9
class Solution:
def hasDuplicate(self, nums: List[int]) -> bool:
hashset = set()
for n in nums:
if n in hashset:
return True
hashset.add(n)
return False
Complexity
time: $O(n)$ space: $O(n)$
This post is licensed under CC BY 4.0 by the author.