firstDuplicate问题,需要理解代码

时间:2017-11-23 08:48:35

标签: javascript typescript

请解释一下它是如何工作的。我无法理解代码为什么会成倍增加?

let test1 = [2, 3, 3, 1, 5, 2]
function firstDuplicate(a) {
  for (let i of a) {
    let posi = Math.abs(i) - 1
    if (a[posi] < 0) return posi + 1
    a[posi] = a[posi] * -1
  }

  return -1
}
console.log(firstDuplicate(test1))

0 个答案:

没有答案