用 JavaScript 在等差数列中查找缺失数


等差数列

等差数列 (AP) 或等差数列是一组数字,其中连续元素之间的差值保持不变。

例如,数列 5、7、9、11、13...

假设我们有一个按顺序表示等差数列元素的数组。但是不知何故,数列中的一个数字丢失了。我们需要编写一个 JavaScript 函数,该函数将第一个且唯一的参数作为这样的数组之一。

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

例如 −

如果输入数组是 −

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

则输出应为 −

const output = 25;

因为 25 存在于 19 和 31 之间

示例

示例的代码如下 −

 现场演示

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

更新于: 2021-02-27

320 Views

开启你的职业生涯

完成课程即可获得认证

开始动手
广告