思路
- 声明一个数组res用来存放元素出现次数
- 其中res[i]=n 代表元素i在数组numbers中出现了n次
- 在遍历过程中,若发现某个元素出现次数大于1,即重复了,即可返回
代码
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param numbers int整型一维数组
* @return int整型
*/
function duplicate( numbers ) {
// write code here
// 数组存放法
// 特殊情况
if(numbers.length<=1)
return -1;
var n=numbers.length;
// 初始化声明一个长度为n的,元素为0的数组,
// res[i]=n 代表元素i在numbers数组中出现了n次,初始化时,赋值为0,即所有元素出现次数为0
var res=new Array(n).fill(0)
for(let i=0;i<numbers.length;i++){
res[numbers[i]]++;
if(res[numbers[i]]>1){
return numbers[i];
}
}
return -1;
}
module.exports = {
duplicate : duplicate
};