首页 > 编程语言 > 详细

数组中重复的数字

时间:2021-09-17 14:43:40      阅读:25      评论:0      收藏:0      [点我收藏+]

在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任一一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1

 1 /**
 2  * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 3  *
 4  * 
 5  * @param numbers int整型一维数组 
 6  * @return int整型
 7  */
 8 function duplicate( numbers ) {
 9     // write code here
10     if(!numbers.length){return -1;}
11     numbers.sort((a,b)=> a-b)
12     let res;
13     for(let i = 0;i<numbers.length;i++){
14         if(numbers[i]===numbers[i+1]){
15             res = numbers[i];
16             break;
17         }
18     }
19     return res;
20 }
21 module.exports = {
22     duplicate : duplicate
23 };
  • Map.has:返回一个bool值,用来表明map 中是否存在指定元素.
  • Map.set:为 Map 对象添加或更新一个指定了键(key)和值(value)的(新)键值对。
 1 /**
 2  * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 3  *
 4  * 
 5  * @param numbers int整型一维数组 
 6  * @return int整型
 7  */
 8 function duplicate( numbers ) {
 9     // write code here
10     let map = new Map();
11     let res = -1;
12     for(let i = 0;i<numbers.length;i++){
13         if(map.has(numbers[i])){
14             res = numbers[i];
15             break;
16         }else{
17             map.set(numbers[i],true)
18         }
19     }
20     return res;
21 }
22 module.exports = {
23     duplicate : duplicate
24 };

数组中重复的数字

原文:https://www.cnblogs.com/icyyyy/p/15302895.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!