在JavaScript中寻找数字数组中的缺失元素
我们需要编写一个JavaScript函数,该函数接受一个长度为n的数字数组。该数组包含从0到n的所有整数(包括0和n),但是仅缺少一个整数,它可以是任何数字,并且不对数组进行排序。我们函数的任务是找到丢失的数字,并在线性时间和恒定空间中将其返回。
由于数组包含从0到n的所有数字,但只有一个,因此我们可以简单地计算线性时间中数组所有元素的总和。
然后我们可以从可以在恒定的时间和空间中计算的前n个自然数的总和中减去它。两者之间的差异将是我们缺少的数字。
示例
以下是代码-
const arr = [3, 7, 8, 10, 11, 0, 2, 6, 1, 4, 5];
const findMissing = (arr = []) => {
const sum = arr.reduce((acc, val) => acc + val);
const { length: num } = arr;
const correctSum = (num * (num + 1)) / 2;
return diff = correctSum - sum;
return diff;
};
console.log(findMissing(arr));输出结果以下是控制台输出-
9
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练