有人可以帮助我开始应对这一挑战:
给定一个99,999个唯一数字的数组,范围从1到100,00,以随机顺序排列,找到列表中缺少的一个数字。
我不确定如何开始考虑它。
答案 0 :(得分:7)
除了缺少的数字,你描述的是arithmetic progression,它有一个很好的公式来计算它的总和。所以你可以遍历数组,求它,然后从公式中减去它。不同之处是缺少的元素:
function missing(arr) {
var sum = 0;
for (var i = 0, len = arr.length; i < len; ++i) {
sum += arr[i];
}
var expected = 100000 * (1 + 100000) / 2;
var missing = expected - sum;
return missing;
}
答案 1 :(得分:5)