【发布时间】:2019-10-25 07:42:33
【问题描述】:
Given an array of integers where every value appears twice except one, find the single, non-repeating value.
Follow up: do so with O(1) space.
1) 这是不正确的,我们的想法是迭代两次并比较第一次是否有任何值不等于第二次。如果不是,则将不相等的值推入一个新数组并返回。
2) forEach 与 for-loop 几乎相同吗?
这怎么能用forEach 重写?
这并没有给我想要的输出,对于这个例子,
应该只返回4
代码
const nonRepeat = arr => {
let newArray = [];
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length; j++) {
if (arr[i] !== arr[j]) {
newArray.push(arr[i])
}
}
}
return newArray
}
console.log(nonRepeat([2, 5, 3, 2, 1, 3, 4, 5, 1]));
【问题讨论】:
-
您的代码与您所说的任务无关。
标签: javascript if-statement foreach