1.题目描述
给定一个整数数组,判断是否存在重复元素。 如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 示例 1: 示例 2: 示例 3:
2.思路(set)
set具备的两个特点: 1.set中的元素都是排序好的 2.set中的元素都是唯一的,没有重复的 因此遍历数字,把每个元素insert进set,当set的大小小于数组的大小时,说明存在重复元素。
3.代码
class Solution {
public:
bool containsDuplicate(vector
<int>& nums
) {
set
<int> hash_set
;
for(auto &n
: nums
){
hash_set
.insert(n
);
}
return hash_set
.size() < nums
.size();
}
};
4.复杂度分析
时间复杂度:O(n) 空间复杂度:O(n)