【LeetCode】217. 存在重复元素

217. 存在重复元素(简单)

在这里插入图片描述
【LeetCode】217. 存在重复元素_第1张图片
在这里插入图片描述

方法一:哈希表长度比较

思路

  • 针对重复元素,很容易就想到 set。我们可以先将 nums 中的所有元素存入set,然后比较两个数据结构的长度,如果相等则说明不存在重复元素,反之存在。

代码

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        unordered_set<int> s;
        for(int n : nums){
            s.insert(n);
        }
        return s.size() != nums.size();
    }
};

方法二:哈希表

思路

  • 创建一个哈希表,每次将 nums 的元素存入前先判断哈希表里是否已经存在该元素,如果存在则说明有重复元素, 返回 true。

代码

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        unordered_set<int> s;
        for(int n : nums){
            if(s.find(n) != s.end())
                return true;
            s.insert(n);
        }
        return false;
    }
};

你可能感兴趣的:(LeetCode刷题,leetcode,算法,职场和发展)