leetcode217. 存在重复元素,哈希表秒解

embedded/2024/9/23 12:28:48/

leetcode217__0">leetcode217. 存在重复元素

给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false

示例 1:
输入:nums = [1,2,3,1]
输出:true

示例 2:
输入:nums = [1,2,3,4]
输出:false

示例 3:
输入:nums = [1,1,1,3,3,4,3,2,4,2]
输出:true

目录

思维导图

在这里插入图片描述

算法思想

算法使用了哈希集合(unordered_set)的特性来实现这个目标。哈希集合不允许重复的元素,因此可以用来检测数组中的重复项。

算法步骤

1.创建一个空的哈希集合temp。
2.遍历数组nums中的每个元素。
3.将遍历到的元素插入到temp中。
4.由于temp不允许重复元素,如果某个元素已经存在于temp中,那么insert操作不会将其再次添加到集合中,并且集合的大小不会改变。
5.在遍历结束后,比较temp的大小与nums的大小: 如果temp的大小等于nums的大小,说明没有重复元素,返回false。 如果temp的大小小于nums的大小,说明存在至少一个重复元素,返回true。

流程图

在这里插入图片描述

具体代码

class Solution {
public:bool containsDuplicate(vector<int>& nums) {unordered_set<int> temp;for(int i=0;i<nums.size();i++){temp.insert(nums[i]);}if(temp.size()==nums.size()) return false;else return true;}
};

http://www.ppmy.cn/embedded/93314.html

相关文章

linux中如何查看是不是守护进程

linux中如何查看是不是守护进程在 Linux 中&#xff0c;要确定一个进程是否是守护进程&#xff0c;通常可以通过以下几个方面来进行判断&#xff1a;1. **检查进程是否与终端相关联**:- 使用 ps 命令查看进程的 TTY 列。- 守护进程通常没有控制终端&#xff0c;因此 TTY 列会显…

C# 高级数据处理:深入解析联接 Join 与 GroupJoin 操作的应用与实例演示

文章目录 一、联接概述二、Join 操作符1. Join 操作符的基本用法2. Join 操作符示例 三、GroupJoin 操作符1. GroupJoin 操作符的基本用法2. GroupJoin 操作符示例 总结 在数据处理中&#xff0c;联接&#xff08;Join&#xff09;操作是一种非常常见的需求&#xff0c;它允许我…

学习c语言第24天(练习)

编程题 第一题 最大公约数最小公倍数求和 //求最大公约数和最小公倍数之和 //暴力求解 //int main() //{ // int n 0; // int m 0; // while (scanf("%d %d", &n, &m)2) // { // int min n < m ? n : m; // int max n > m ? n : m; //…

PS网页版在线制作:云端设计让效率更上一层楼!

在当今的设计行业中&#xff0c;PS曾经被认为是不可替代的工具。然而&#xff0c;对于设计师&#xff0c;尤其是UI设计师来说&#xff0c;PS有点太复杂了。PS更新频率快&#xff0c;稳定性差&#xff0c;对计算机配置要求高。对于初学者来说&#xff0c;这显然是一个“负担”。…

MySQL里utf8mb4和utf8的区别

在MySQL中&#xff0c;utf8 和 utf8mb4 是两种常见的字符集&#xff0c;它们用于存储Unicode字符。尽管它们听起来相似&#xff0c;但存在一些关键的区别&#xff0c;这些区别对于支持某些特定字符&#xff08;如表情符号&#xff09;非常重要。 utf8 和 utf8mb4 的主要区别&a…

【SpringMVC】SpringMVC实现文件上传和下载

目录 1.文件上传 2.文件下载 1.文件上传 大概的图如下所示&#xff1a; 客户端&#xff1a; 文件上传就是把客户端的文件上传到服务端进行保存。在文件上传时文件和其他请求参数是在 请求体中进行传递。所以不支持 GET 类型请求。实现文件上传&#xff0c;需要提供一个上传的…

夜莺监控使用指南

夜莺监控使用指南 本文用于解决在部署和应用夜莺监控中遇到的一些问题以及官方文档缺失的某些步骤可能会遇到的坑。 安装过程 我使用是NightingaleCategrafPrometheus的架构。 Nightingale安装文档&#xff1a;https://flashcat.cloud/docs/content/flashcat-monitor/night…

自定义协议缓冲区(Protocol Buffers)在Xcode开发中的实战应用

自定义协议缓冲区&#xff08;Protocol Buffers&#xff09;在Xcode开发中的实战应用 在当今的iOS开发中&#xff0c;数据的序列化和反序列化扮演着至关重要的角色。Protocol Buffers&#xff08;简称 Protobuf&#xff09;&#xff0c;由 Google 开发&#xff0c;以其轻量、快…