在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
以上是 在JavaScript中寻找数字数组中的缺失元素 的全部内容, 来源链接: utcz.com/z/354913.html