数组中重复的数字

在一个长度为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 };

数组中重复的数字

上一篇:idea中springboot配置文件不高亮,提示Unused property more


下一篇:python-flask响应对象和请求对象