文章目录
一、力扣217. 存在重复元素
(一)哈希表法
思路:遍历一遍数组,将出现的元素存储在哈希表中,并统计出现的次数;然后遍历一遍哈希表,如果哈希表的value值有大于1的情况,则说明存在重复元素。
代码如下:
class Solution
{
public:
bool containsDuplicate(vector<int>& nums)
{
unordered_map<int,int>hash;
for(int i=0;i<nums.size();i++)
{
hash[nums[i]]++;
}
for(auto&x: hash)
{
if(x.second>1)
{
return true;
}
}
return false;
}
};
时间复杂度O(N),空间复杂度也是O(N)
(二)sort排序
排序的思路比较简单,先用sort函数对数组排序,排好序之后判断有没有连续两个元素相等,如果有,则存在重复元素
代码如下:
class Solution
{
public:
bool containsDuplicate(vector<int>& nums)
{
sort(nums.