给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
示例 1:
输入: [1,2,3,1]
输出: true
STL之set容器的运用
代码如下:
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
unordered_set<int>s;
for(int i = 0; i < nums.size();i++)
{
if(s.find(nums[i]) != s.end())
return true;
else
s.insert(nums[i]);
}
return false;
}
};
该篇博客介绍了一个C++编程问题,即如何在一个整数数组中判断是否存在重复元素。通过运用STL中的unordered_set容器,实现了O(n)的时间复杂度检查。当集合中存在已插入的元素时,直接返回true,否则将新元素插入集合。若遍历完数组仍未找到重复项,则返回false。这种方法有效地避免了二次遍历,提高了效率。
356

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



