Leetcode 217.存在重复元素
小于 1 分钟
题目描述:给定一个整数数组,判断是否存在重复元素。
如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
方法一
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
unordered_set<int> set;
for(auto i : nums) {
if(set.find(i) != set.end()) {
return true;
}
else {
set.insert(i);
}
}
return false;
}
};
方法二 利用不能重复的特点(思路)
//利用set容器不能存储重复元素的特点
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
unordered_set<int> set(nums.begin(), nums.end());
if(nums.size() > set.size()) {
return true;
}
return false;
}
};
map
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
for(auto i : nums) {
hash[i]++;
if(hash[i] > 1) {
return true;
}
}
return false;
}
};