在 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