首页 > 试题广场 >

数组中重复的数字

[编程题]数组中重复的数字
  • 热度指数:171827 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1

数据范围:
进阶:时间复杂度,空间复杂度
示例1

输入

[2,3,1,0,2,5,3]

输出

2

说明

2或3都是对的    
头像 鸠摩罗什
发表于 2021-07-02 23:56:34
精华题解 描述        在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任一一个重复的数字。 例如,如果输入长度为7的数组[ 展开全文
头像 漫漫云天自翱翔
发表于 2021-06-20 13:04:09
精华题解 题解一:暴力(TLE超时,不能AC此题)解题思路:第一层循环依次选取一个锚点数字,第二层循环遍历剩下的数字,当找到相同的两个数字,退出循环,返回正确的结果。 复杂度分析:时间复杂度:O(n^2),两层循环空间复杂度:O(1)代码如下: class Solution { public: /** 展开全文
头像 蒙牛麦片
发表于 2021-06-24 09:38:33
精华题解 JZ50 数组中重复的数字 题意分析: 找出数组中重复的元素。 示例输入:[2,3,1,0,2,5,3]返回:数组中2和3都出现了多次,返回2或3都可以。 题解一(map统计): 我们使用map<int,int>进行统计即可。如果m[i]>0,说明元素i是我们要的结果。如果m[i] 展开全文
头像 咪咪虾条001
发表于 2021-02-26 19:51:54
方法1:对于重复性问题可以想到set,遍历数组依次加入集合,若集合中存在该元素则直接返回该元素,否则将该元素加入集合: public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 展开全文
头像 jieleejie
发表于 2021-03-20 01:09:39
利用set的不重复特性。把数组中的元素一个个添加到set中,如果某一元素添加过后,set的长度没有改变,说明该元素重复! let mySet = new Set(); for (let i = 0; i < numbers.length; i++){ let setLe 展开全文
头像 高非凡
发表于 2021-04-30 20:36:34
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param numbers int整型一维数组 展开全文
头像 牛客题解官
发表于 2022-04-25 18:59:25
题目的主要信息: 一个长度为nnn的数组中只有0到n−1n-1n−1的数字 需要找出其中任意一个重复出现的数字 举一反三: 学习完本题的思路你可以解决如下题目: JZ56. 数组中只出现一次的两个数字 JZ50. 第一个只出现一次的字符 JZ75. 字符流中第一个不重复的字符 方法一:位置重排( 展开全文
头像 牛客45292383号
发表于 2022-03-13 21:48:18
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param numbers int整型一维数组 * @param numbersLen int numbers数组长度 * @return int整型 * * C语言声明定义全局变 展开全文
头像 1666
发表于 2021-03-26 23:06:18
//解题思路 /*替换法(O(n),O(1)) 数组存放原则:numbers[i] = i 遍历数组所有元素,交换不符合数组存放原则的元素: 例如[2,3,1,0,2] 遍历0位元素2:(交换0位元素2和2位元素1)->[1,3,2,0,2] 遍历0位元素1:(交换0位 展开全文
头像 designeer
发表于 2021-11-14 09:49:29
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # #  # @param numbers int整型一维数组  # @return int整型 # class Solutio 展开全文
头像 牛客11111111133号
发表于 2022-02-09 14:40:56
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param numbers int整型一维数组 * @return int整型 */ function duplicate( numbers ) { // write code here 展开全文
头像 好好刷题,积极向上
发表于 2022-02-25 22:25:16
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param numbers int整型一维数组 展开全文
头像 牛客799264212号
发表于 2021-11-11 20:51:19
第一次刷题,之前编程都是谷歌型选手,第一道题通过后,感觉还蛮有意思的,写代码比推公式写论文简单一些,而且及时反馈,以后应该会慢慢刷下去吧。 在这道题的的实现过程中,主要思路和主要如下: 重复数字,可以利用python中set这个数据结构,set中不包含重复的元素,因此可以构建一个空的set,然后往 展开全文