程序员社区

存在重复元素

在这里插入图片描述
法1:先排序后查重
在这里插入图片描述

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) 
    {
        sort(nums.begin(), nums.end());
        for (int i = 0; i < nums.size()-1; i++)
        {
            if (nums[i] == nums[i + 1])
                return true;
        }
        return false;
    }
};

在这里插入图片描述
法2:set集合,哈希表
对于数组中每个元素,我们将它插入到哈希表中。如果插入一个元素时发现该元素已经存在于哈希表中,则说明存在重复的元素。

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) 
    {
        unordered_set<int> s;
        for (int x : nums) {
            //如果是重复元素,插入失败,返回尾迭代器
            if (s.find(x) != s.end()) {
                return true;
            }
            s.insert(x);
        }
        return false;
    }
};

在这里插入图片描述

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 存在重复元素

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区