[leetcode] 217. Contains Duplicate _ Algorithm Problem Solve for python



1. Problem

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 <= 10^5
  • -10^9 <= nums[i] <= 10^9

2. Solution

I solve this problem like this.

  • Complexity
    • Time complexity : O(N)
    • Space complexity : O(N)
  • Step
    • Put number in dictionary. If the number is in dictionary, return True.
class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        dic = {}
        for num in nums:
            if num in dic:
                return True
            dic[num] = 1
        return False