-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathContains_Duplicate.cpp
More file actions
49 lines (41 loc) · 1.33 KB
/
Contains_Duplicate.cpp
File metadata and controls
49 lines (41 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Source : https://leetcode-cn.com/problems/contains-duplicate/description/
// Number : 217
// Author : HL
// Date : 2018-09-11
// Kill : 46.31%,37.85%
/**********************************************************************************
Given an array of integers, find if the array contains any duplicates.
Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.
Example 1:
Input: [1,2,3,1]
Output: true
Example 2:
Input: [1,2,3,4]
Output: false
Example 3:
Input: [1,1,1,3,3,4,3,2,4,2]
Output: true
**********************************************************************************/
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
// 哈希解法
// map<int,int> mp;
// for(vector<int>::iterator it=nums.begin(); it!=nums.end(); it++)
// mp[*it]++;
// for(map<int,int>::iterator it=mp.begin();it!=mp.end();it++)
// if(it->second > 1)
// return true;
// return false;
// 集合解法
set<int> s;
for(vector<int>::iterator it=nums.begin(); it!=nums.end(); it++)
{
if(s.find(*it) != s.end())
return true;
else
s.insert(*it);
}
return false;
}
};