Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >存在重复元素

存在重复元素

作者头像
大忽悠爱学习
发布于 2021-11-15 02:15:23
发布于 2021-11-15 02:15:23
39500
代码可运行
举报
文章被收录于专栏:c++与qt学习c++与qt学习
运行总次数:0
代码可运行

法1:先排序后查重

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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集合,哈希表 对于数组中每个元素,我们将它插入到哈希表中。如果插入一个元素时发现该元素已经存在于哈希表中,则说明存在重复的元素。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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;
    }
};
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
哈希表-LeetCode 217、219、220、232(hashset、hashmap)
给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。
算法工程师之路
2019/11/15
5110
LeetCode 219. 存在重复元素 II(哈希)
给定数组nums和常数k,存在不同的i、j使得nums[i] = nums[j],且abs(i-j) <= k。
Michael阿明
2021/02/20
2470
LeetCode 219. 存在重复元素 II(哈希)
【leetcode刷题】T36-存在重复元素
Given an array of integers, find if the array contains any duplicates.
木又AI帮
2019/07/17
4150
关关的刷题日记05 —— Leetcode 217. Contains Duplicate 方法1和方法2
题目 Leetcode 217. Contains Duplicate Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct. 题目的意思是,判断
WZEARW
2018/04/08
7110
Leetcode|子集|90.子集II(排序+first索引+跳过重复元素)
1 回溯法 (排序+first索引+跳过重复元素) class Solution { private: int size; vector<vector<int>> solution; vector<int> path; public: void backtrack(vector<int>& nums, int first) { solution.emplace_back(path); // 2. 使用first索引 for
SL_World
2021/09/18
2510
【小Y学算法】⚡️每日LeetCode打卡⚡️——47.存在重复元素
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false
呆呆敲代码的小Y
2021/10/08
3660
【LeetCode每日一题】220. 存在重复元素 III
今日题目220题,每日一题微信交流群可以点击右下角:合作转载->联系我,备注:刷题,拉你入群。
公众号guangcity
2021/04/22
2860
☆打卡算法☆LeetCode 217. 存在重复元素 算法解析
大家好,我是小魔龙,Unity3D软件工程师,VR、AR,虚拟仿真方向,不定时更新软件开发技巧,生活感悟,觉得有用记得一键三连哦。
恬静的小魔龙
2022/09/27
1830
☆打卡算法☆LeetCode 217. 存在重复元素 算法解析
算法思想总结:哈希表
1、哈希表底层:通过对C++的学习,我们知道STL中哈希表底层是用的链地址法封装的开散列。
小陈在拼命
2024/06/02
1590
算法思想总结:哈希表
Leetcode No.217 存在重复元素(hash表)
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
week
2022/01/07
1880
LeetCode 217. 存在重复元素(哈希)
如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。
Michael阿明
2021/02/20
2350
LeetCode 217. 存在重复元素(哈希)
LeetCode 548. 将数组分割成和相等的子数组(哈希set)
给定一个有 n 个整数的数组,你需要找到满足以下条件的三元组 (i, j, k) :
Michael阿明
2021/02/19
2.1K0
leetcode-219-Contains Duplicate II(使用set来判断长度为k+1的闭区间中有没有重复元素)
Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] = nums[j] and the absolute difference between i and j is at most k.
chenjx85
2019/03/14
5930
【算法】哈希表
这里题目所述非常清楚,就求两个数的和,可以直接用暴力解法:先固定一个数然后找另一个数。但这样的方式来用哈希表优化,可能就会出现某一个数被找了两次,还得再判断一下,就比较麻烦。
zxctscl
2024/04/15
1260
【算法】哈希表
LeetCode每日一题Day4——26. 删除有序数组中的重复项
Line 1034: Char 34: runtime error: applying non-zero offset 4 to null pointer (stl_vector.h) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h:1043:34
命运之光
2024/03/20
2410
LeetCode每日一题Day4——26. 删除有序数组中的重复项
leetcode-217-Contains Duplicate(使用排序来判断整个数组有没有重复元素)
Given an array of integers, find if the array contains any duplicates.
chenjx85
2019/03/14
6990
Leetcode|组合变种|491. 递增子序列(first索引+跳过非相邻重复元素)
刚开始分析题目时,考虑到输入有重复元素,我先sort了一下,发现不行,因为题目要求是找到所给数组当前顺序下的递增序列。但是不同顺序的两个解被视为同1个解,因此适合用组合惯用技巧first索引,但要想去除输入重复解的情况,又不能sort,那最通用的方法就是把当前层的选择通通扔到1个哈希集合中,只要有重复就选择性continue
SL_World
2021/09/18
4950
Leetcode|排列|47. 全排列 II(排序使重复元素相邻+记录已用元素避免重复+跳过重复元素)
1 回溯法 讲真,这道题加入重复元素,还是有点难度的 具体策略为 排序使重复元素相邻 记录已用元素避免重复(inPath) 跳过重复元素(nums[i-1] == nums[i] && !inPath[i-1]) class Solution { private: int size; vector<int> path; // 路径 vector<vector<int>> solution; public: void backtrack(vector<int
SL_World
2021/09/18
3880
滑动窗口秒存在重复元素 II
大家好,我是熊哥,来自华为。今天给大家带来一道与滑动窗口和查找表相关的题目,这道题同时也是 airbnb 和 Palantir 的面试题,即力扣上的第219题-存在重复元素 II。
程序员小熊
2021/08/13
5530
【C++】unordered_map和unordered_set的使用 及 OJ练习
,即最差情况下需要比较红黑树的高度次。 在C++11中,STL又提供了4个unordered系列的关联式容器,这四个容器与红黑树结构的关联式容器使用方式基本一样,只是其底层结构不同。 本文中只对unordered_map和unordered_set进行介绍, unordered_multimap和unordered_multiset大家可自行查看文档介绍。
YIN_尹
2024/01/23
3780
【C++】unordered_map和unordered_set的使用 及 OJ练习
推荐阅读
相关推荐
哈希表-LeetCode 217、219、220、232(hashset、hashmap)
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验