Algorithm 无法在O(n)时间内解决孤独号码问题
在给定的数字数组中,一个元素将显示一次,其余元素将显示两次。你能在O(n)线性时间内找到那个数吗 例如-Algorithm 无法在O(n)时间内解决孤独号码问题,algorithm,data-structures,Algorithm,Data Structures,在给定的数字数组中,一个元素将显示一次,其余元素将显示两次。你能在O(n)线性时间内找到那个数吗 例如-lonelyNumber([4,4,6,1,3,1,3])//6 到目前为止,我正在用javascript和我的代码尝试这一点- var lonelyNumber=function(arr) { for(var i=0;i<arr.length;i++) { for(var j=0;j<arr.length;j++) { if(j!==i &&
lonelyNumber([4,4,6,1,3,1,3])//6
到目前为止,我正在用javascript和我的代码尝试这一点-
var lonelyNumber=function(arr) {
for(var i=0;i<arr.length;i++) {
for(var j=0;j<arr.length;j++) {
if(j!==i && arr[i]===arr[j]) {
break;
}
}
if(j===arr.length) {
return arr[i];
}
}
}
console.log(lonelyNumber([4, 4, 6, 1, 3, 1, 3]));
var lonelyNumber=函数(arr){
对于(var i=0;i您可以使用hashmap来实现这一点,方法是在javascript中使用对象
基本上,我在数组中循环,如果第一次找到对象,则添加新键,如果第二次找到对象,则删除键。最后,对象中唯一剩下的键就是结果
var lonelyNumber=function(arr) {
var obj={};
for(var i=0;i<arr.length;i++) {
if(obj[arr[i]]) {
delete obj[arr[i]];
} else {
obj[arr[i]]=true;
}
}
return Object.keys(obj)[0];
}
var lonelyNumber=函数(arr){
var obj={};
for(var i=0;iHint:使用字典存储已看到的数字。我将搜索字典存储并尝试使用XOR all元素,这是您的答案。好的,我会尝试。谢谢。但对象如何成为hask映射?请参阅