-
Notifications
You must be signed in to change notification settings - Fork 5
/
ContainsDuplicate.cpp
99 lines (86 loc) · 2.02 KB
/
ContainsDuplicate.cpp
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/*
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
*/
/*By>> Anand Kothari
Date : 09/25
*/
#include <iostream>
#include <vector>
#include <unordered_set>
using namespace std;
// This has a runtime of O(n), since it will take more time if there is an increase in the input
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
unordered_set<int> m;
for(int i=0;i<nums.size();i++)
{
if(m.find(nums[i])!= m.end()) // If it finds the duplicate
{
return true; // Returning true if the duplicate is found
}
else
{
m.insert(nums[i]);
}
}
return false;
}
};
//unordered_set<int> isFound;
////If there are more duplicates than one and you wan to print all duplicates
//
//class Solution {
//public:
// bool containsDuplicate(vector<int>& nums) {
// unordered_set<int> m;
// for(int i=0;i<nums.size();i++)
// {
// if(m.find(nums[i])!= m.end()) // If it finds the duplicate
// {
// cout<<"It has a duplicate which is:: " <<nums[i]<<endl;
// helper(nums[i]);
// }
// else
// {
// m.insert(nums[i]);
// }
//
// }
// if(!helperCalled) // Will check if the boolean condition is false(which means helper function is not called even once)
// {
// cout<<"No Duplicate found";
// return false;
// }
// }
//
//
//bool helper(int num)
//{
// if(isFound.find(num) == isFound.end()) // Duplicate is not found
// {
// isFound.insert(num);
// helperCalled = true;
// }
// else
// {
// return true;
// }
//}
//};
main()
{
Solution s;
vector<int> arr ={1,2,3,4,2,1};
s.containsDuplicate(arr);
}