1、Contains Duplicate
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.
首先想到的是无序容器,复杂度也只有O(n)~
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
unordered_map<int,int> result;
for(auto i:nums)
result[i]++;
for(auto i=result.begin();i!=result.end();i++){
if((*i).second!=1) return true;
}
return false;
}
};
不过如果是用无序容器,其实还有一种更简单的思路
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
unordered_map<int,int> result;
for(auto i:nums)
result[i]++;
return nums.size() > result.size();
}
};