--- title: '217. Contains Duplicate' description: 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 icon: dot topics: - { name: "Array", slug: "array" } - { name: "Hash Table", slug: "hash-table" } - { name: "Sorting", slug: "sorting" } video: "3OamzN90kPg" issue: "https://github.com/prdlk/leetcode/issues/27" sidebar: label: 'Contains Duplicate' badge: 'Easy' --- ### 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` ## Approach ```mermaid flowchart TD S(["containsDuplicate(nums)"]) --> I["freq = {}"] I --> L{"more n in nums?"} L -- no --> E(["return false"]) L -- yes --> C["freq[n] = (freq[n] or 0) + 1"] C --> Q{"freq[n] >= 2?"} Q -- yes --> R(["return true"]) Q -- no --> L ``` ## Solution ```py class Solution: def containsDuplicate(self, nums: List[int]) -> bool: return len(set(nums)) != len(nums) ```