0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何从数组中找出重复的数字

算法与数据结构 来源:五分钟学算法 作者:程序员吴师兄 2021-10-28 16:56 次阅读

大家好,我是吴师兄,不啰嗦,直接开始今天的算法学习,冲冲冲。

一、题目描述

找出数组中重复的数字。

在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。

请找出数组中任意一个重复的数字。

示例 1:

输入:
[2,3,1,0,2,5,3]
输出:2 或 3

二、保姆级参考代码

//登录AlgoMooc官网获取更多算法图解
//https://www.algomooc.com
//作者:程序员吴师兄
classSolution{
publicintfindRepeatNumber(int[]nums){

//HashSet的特点是不会存储重复元素
//所以可以利用HashSet来查找出重复的元素
Setdic=newHashSet<>();

//遍历数组,设置此时遍历的元素为num
for(intnum:nums){

//如果发现dic中已经存储了num
//那么说明找到了重复的那个元素
if(dic.contains(num)){
//把num这个结果进行返回
returnnum;

//否则的话,说明dic中还没有存储num
}else{
//把num添加到dic中
dic.add(num);
}

}

//由于nums中所有的数字都在0~n-1的范围内
//所以负数,比如-1必然不在nums这个范围内
//如果没有找到重复的数字,那么返回-1
return-1;
}
}

责任编辑:haq


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4601

    浏览量

    92683
  • 数组
    +关注

    关注

    1

    文章

    416

    浏览量

    25916

原文标题:数组中重复的数字,怎么找?

文章出处:【微信号:TheAlgorithm,微信公众号:算法与数据结构】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    指针数组和二维数组有没有区别

    ] = { "hello", "world", "total" }; return 0;} 后面的初始化方式可以看出,他们好像一样,里面都保存了三个字符串。 想要搞清楚他们的区别,还得看下他们在内存的排布
    的头像 发表于 11-24 11:12 90次阅读

    C语言数组应用计算机导论A第6讲:数组

    C语言数组应用计算机导论A第6讲:数组
    发表于 11-20 15:33 0次下载

    解读版|Air780E软件C语言内存数组的神秘面纱!

    今天我们来揭开Air780E 软件 C 语言内存数组的神秘面纱,希望有所收获。
    的头像 发表于 11-17 10:00 176次阅读
    解读版|Air780E软件<b class='flag-5'>中</b>C语言内存<b class='flag-5'>数组</b>的神秘面纱!

    如何找出住宅的电路火灾隐患?

    1.怎样找出住宅的电路火灾隐患呢 1.1电线超载  如果保险丝烧断,继电器重复跳闸,电灯发暗,或者闻到金属或塑料焦糊味,那么这是一个危险信号:要么是电线发生故障,要么是负载过大。要更换电线或增容
    的头像 发表于 10-17 09:10 180次阅读
    如何<b class='flag-5'>找出</b>住宅<b class='flag-5'>中</b>的电路火灾隐患?

    labview字符串数组转化为数值数组

    在LabVIEW,将字符串数组转换为数值数组是一项常见的任务,尤其是在处理数据采集、信号处理或用户输入时。 1. 理解LabVIEW的数据类型 在开始之前,了解LabVIEW的数据
    的头像 发表于 09-04 17:47 1852次阅读

    重复接地的作用与实施

    重复接地是一种在中性点直接接地的电力系统采用的技术措施,通过在零干线的一个或多个位置用金属导线将接地装置连接起来。这 种措施主要应用于低压三相四线制中性点直接接地的配电线路。在施工过程
    的头像 发表于 08-15 11:23 710次阅读

    嵌入式零长度数组基本操作方法

    C语言零长度数组,听起来可能有点奇怪,因为它没有分配内存空间,无法存储数据。但实际上,零长度数组在Linux内核随处可见。 零长度数组的定义 首先,我们要明白什么是零长度
    的头像 发表于 05-11 08:49 870次阅读
    嵌入式<b class='flag-5'>中</b>零长度<b class='flag-5'>数组</b>基本操作方法

    AWTK 开源串口屏开发(17) - 通过 MODBUS 访问数组数据

    在AWTK串口屏,内置MODBUS客户端通道模型,不用编写代码即可实现在ListView显示远程设备上的数组数据。1.功能不用编写代码,实现对远程设备上数组数据的显示。2.创建项目
    的头像 发表于 04-29 08:25 328次阅读
    AWTK 开源串口屏开发(17) - 通过 MODBUS 访问<b class='flag-5'>数组</b>数据

    深入探索KUKA KRL数组应用

    如果 CHAR 类型数组的所有数组元素都拥有相同的字符串,则不必单独初始化每个数组元素。忽略右侧的数组下标。(对于一维数组下标,不写下标。)
    的头像 发表于 04-18 10:37 1156次阅读
    深入探索KUKA KRL<b class='flag-5'>中</b>的<b class='flag-5'>数组</b>应用

    随机抽取SV数组的一个元素方法实现

    如果想从一个关联数组随机选取一个元素,需要逐个访问它之前的元素,原因是没办法能够直接访问到第N个元素。上面的程序示范了如何从一个以整数值作为索引**的关联数组随机选取一个元素。
    的头像 发表于 03-21 10:11 897次阅读
    随机抽取SV<b class='flag-5'>数组</b><b class='flag-5'>中</b>的一个元素方法实现

    数组和链表在内存的区别 数组和链表的优缺点

    数组和链表在内存的区别 数组和链表的优缺点  数组和链表是常见的数据结构,用于组织和存储数据。它们在内存的存储方式以及优缺点方面存在一些
    的头像 发表于 02-21 11:30 935次阅读

    PHP数组的使用方法!

    PHP数组的使用方法! PHP是一种广泛使用的网络编程语言,它的数组功能非常强大且灵活。数组是一种数据结构,它允许我们在单个变量存储多个
    的头像 发表于 01-12 15:11 514次阅读

    labview怎么查数组相同元素的个数

    要查找LabVIEW数组相同元素的个数,可以使用以下步骤: 创建一个包含要查找的数值的数组。这可以通过手动输入数组元素或
    的头像 发表于 12-28 16:42 3292次阅读

    数组和指针不相同吗?数组和指针有哪些区别

    数组就是指针,指针就是数组,这样的言论在评论区看到不下于10次。
    的头像 发表于 12-13 16:34 1355次阅读
    <b class='flag-5'>数组</b>和指针不相同吗?<b class='flag-5'>数组</b>和指针有哪些区别

    数组与指针不能混用的情况

    和指针的基本概念。数组是一组相同类型的元素的集合,而指针是一个变量,它存储了一个地址,该地址指向内存的某个位置。在 C/C++ 数组名称可以当作指向
    的头像 发表于 12-07 13:46 578次阅读