在 JavaScript 中查找算术级数序列中缺失的数字

算术级数:

等差数列 (AP) 或等差数列是一系列数字,使得连续项之间的差异是恒定的。

例如,序列 5, 7, 9, 11, 13...

假设我们有一个按顺序表示算术级数元素的数组。但不知何故,进程中的一个数字不见了。我们需要编写一个 JavaScript 函数,它接受一个这样的数组作为第一个也是唯一的参数。

然后我们的函数在一次迭代中应该找到并返回序列中缺少的数字。

例如 -

如果输入数组是 -

const arr = [7, 13, 19, 31, 37, 43];

那么输出应该是 -

const output = 25;

因为在 19 和 31 之间缺少 25

示例

此代码将是 -

const arr = [7, 13, 19, 31, 37, 43];

const findMissingNumber = (arr = []) => {

   let {length} = arr;

   let diff1 = arr[1] - arr[0];

   let diff2 = arr[length - 1] - arr[length - 2];

   if (diff1 !== diff2) {

      if (diff1 == 2 * diff2){

         return arr[0] + diff2;

      }else{

         return arr[length - 1] - diff1;

      };

   };

   for (let i = 1; i < length - 2; i++){

      if (arr[i + 1] - arr[i] != diff1){

         return arr[i] + diff1;

      };

   };

   return arr[0];

};

console.log(findMissingNumber(arr));

输出结果

控制台中的输出将是 -

25

以上是 在 JavaScript 中查找算术级数序列中缺失的数字 的全部内容, 来源链接: utcz.com/z/357227.html

回到顶部