用 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
廣告