给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回true
。如果数组中每个元素都不相同,则返回false
。
建立一个哈希表,存储已经遍历过数组中的元素。
class Solution {
public:
bool containsDuplicate(const vector<int>& nums) {
unordered_set<int> visited_nums;
for (const auto& num : nums) {
if (visited_nums.count(num)) {
return true;
}
visited_nums.insert(num);
}
return false;
}
};
时间复杂度为O(n),空间复杂度为O(n)。