实现思路
使用哈希表的思想, 利用 js 的空对象, 以数字作为key, 出现的次数作为 value。 循环数组, 如果数字没出现, 在对象加入以该数字为key, value 为1, 如果出现, 则对 value ++, 判断 value 是2, 为2则表示出现重复, 返回该数字。
代码实现
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param numbers int整型一维数组
* @return int整型
*/
function duplicate( numbers ) {
// write code here
if(!numbers.length) {
return -1;
}
let obj = {};
for(let i=0; i<numbers.length; i++) {
if(!obj[numbers[i]]) {
obj[numbers[i]] = 1;
} else {
obj[numbers[i]]++;
}
if(obj[numbers[i]] === 2) {
return numbers[i];
}
}
}
module.exports = {
duplicate : duplicate
};