## 题目

> - 题号：217
> - 难度：简单
> - https://leetcode-cn.com/problems/contains-duplicate/

给定一个整数数组，判断是否存在重复元素。

如果任何值在数组中出现至少两次，函数返回 true。如果数组中每个元素都不相同，则返回 false。

<b>示例 1</b>:
```c
输入: [1,2,3,1]
输出: true
```

<b>示例 2</b>:
```c
输入: [1,2,3,4]
输出: false
```

<b>示例 3</b>:
```c
输入: [1,1,1,3,3,4,3,2,4,2]
输出: true
```






---
## 实现

**思路：通过集合的方法**

**C# 语言**

- 状态：通过
- 18 / 18 个通过测试用例
- 执行用时: 156 ms, 在所有 C# 提交中击败了 93.33% 的用户
- 内存消耗: 30.3 MB, 在所有 C# 提交中击败了 5.31% 的用户

```c
public class Solution
{
    public bool ContainsDuplicate(int[] nums)
    {
        if (nums.Length < 2)
            return false;

        HashSet<int> h = new HashSet<int>();
        foreach (int num in nums)
        {
            if (h.Contains(num))
                return true;
            h.Add(num);
        }
        return false;
    }
}
```

**Python 语言**

- 执行结果：通过
- 执行用时：48 ms, 在所有 Python3 提交中击败了 78.11% 的用户
- 内存消耗：18.9 MB, 在所有 Python3 提交中击败了 24.00% 的用户

```python
class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        if len(nums) < 2:
            return False
            
        h = set()
        for num in nums:
            if num in h:
                return True
            h.add(num)
        return False
```

