题目描述
给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
C++
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
//思路:用哈希表,遍历一次数组建立哈希表,再遍历一次哈希表,得结果
unordered_map<int,int> thismap;
for(int i=0;i<nums.size();i++){
if(thismap.find(nums[i])!=thismap.end()){
thismap[nums[i]]++;
}else{
thismap[nums[i]]=1;
}
}
for (auto iter = thismap.begin(); iter != thismap.end(); ++iter) { //遍历哈希表
if(iter->second>=2){
return true;
}
}
return false;
}
};
这里,我学习了哈希表遍历。
这篇博客介绍了如何利用C++实现一个名为`containsDuplicate`的函数,该函数通过哈希表来检查整数数组中是否存在重复的元素。在遍历数组过程中,将元素作为键,出现次数作为值存入哈希表。如果在遍历哈希表时发现某个元素的值大于等于2,说明存在重复,函数返回true;否则返回false。
502

被折叠的 条评论
为什么被折叠?



