###### tags: `Leetcode` `easy` `hash` `python` `c++`
# 217. Contains Duplicate
## [題目連結:] https://leetcode.com/problems/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
```
## 解題想法:
兄弟題目: [219. Contains Duplicate II](/c-DXz4S2TGyWZ56AcDrndQ)
用個hash table or set紀錄即可,當數字出現過return True
## Python:
``` python=
class Solution(object):
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
dic=set()
for val in nums:
if val in dic:
return True
dic.add(val)
return False
'''
tmp = {}
for i in nums:
tmp[i] = tmp.get(i,0)+1
if tmp[i] >1:
return True
return False
'''
if __name__ == '__main__':
result = Solution()
nums = [1,1,1,3,3,4,3,2,4,2]
ans = result.containsDuplicate(nums)
print(ans)
```
## C++:
``` cpp=
#include<iostream>
#include<set>
#include<vector>
using namespace std;
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
set<int> dic;
for (int val:nums){
if (dic.find(val)!=dic.end())
return true;
dic.insert(val);
}
return false;
}
};
int main(){
vector<int> nums={1,2,3,1};
Solution res;
bool ans=res.containsDuplicate(nums);
cout<<ans<<endl;
return 0;
}
```