</> Vikas Sharma

217. Contains Duplicate

217. 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.

Example 1:
Input: nums = [1,2,3,1]
Output: true

Example 2:
Input: nums = [1,2,3,4]
Output: false

Example 3:
Input: nums = [1,1,1,3,3,4,3,2,4,2]
Output: true

Constraints:
1 <= nums.length <= 105
-109 <= nums[i] <= 109

Intuition

First thoughts

In order to solve this question in a brute-force manner, we’ll have to:

This approach has:

Further thoughts

Can we do better than O(n**2)?

Final approach

Python code

class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        lookup = set()
        for x in nums:
            if x in lookup:
                return True
            lookup.add(x)
        return False