从数组JavaScript中查找第n个丢失的数字

假设我们有一个严格增加的数字序列(以一个单位递增),其中缺少某些元素,例如:

const arr = [2,3,4,7,11];

我们需要编写一个JavaScript函数,该函数将一个数组作为第一个参数,并将一个数字(例如n)作为第二个参数。

该函数应找到数组中缺少的第n个元素。

例如-

如果对于上述数组,则n = 4;

那么输出应该是8,因为

缺少的元素是-

1, 5, 6, 8

示例

const arr = [2, 3, 4, 7, 11];

const findMissing = (arr = [], n) => {

   let el = 0;

   let diff = 0;

   for(let i=0; i<arr.length; ++i) {

      const difference = arr[i] - el - 1;

      const sum = diff + difference;

      if(sum>=n) {

         break;

      };

      diff = sum;

      el = arr[i];

   }

   return el + n - diff;

};

console.log(findMissing(arr, 4));

输出结果

这将产生以下输出-

8

以上是 从数组JavaScript中查找第n个丢失的数字 的全部内容, 来源链接: utcz.com/z/347140.html

回到顶部