「每日LeetCode」2021年6月9日

本文最后更新于:2023年3月19日 晚上

面试题 17.04. 消失的数字

面试题 17.04. 消失的数字

数组nums包含从0n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在 O(n)时间内完成吗?
注意:本题相对书上原题稍作改动
示例 1:

1
2
输入:[3,0,1]
输出:2

示例 2:

1
2
输入:[9,6,4,2,3,5,7,0,1]
输出:8

思路

实际为一个等差数列,用公式求出来和以后,遍历减去每一个数,最后剩下的就是缺失的数。

解答

1
2
3
4
5
6
7
8
9
10
11
/**
* @param {number[]} nums
* @return {number}
*/
var missingNumber = function (nums) {
let res = ((nums.length + 1) * nums.length) / 2;
for (const num of nums) {
res -= num;
}
return res;
};