用 JavaScript 平衡陣列索引總和
問題
我們要求編寫一個 JavaScript 函式,該函式以整數陣列 arr 作為第一個也是唯一引數。
我們的函式要求選擇並返回陣列中的一個索引,使該索引左側元素的總和等於右側元素的總和。如果陣列中不存在這樣的索引,我們應該返回 -1。
例如,如果輸入函式為 −
輸入
const arr = [1, 2, 3, 4, 3, 2, 1];
輸出
const output = 3;
輸出說明
因為索引 3 兩邊的元素總和相等 (6)。
示例
程式碼如下 −
const arr = [1, 2, 3, 4, 3, 2, 1]; const balancingIndex = (arr = []) => { const findSum = arr => arr.reduce((acc, x) => acc + x, 0); for(let i = 0; i < arr.length; i++){ const leftSum = findSum(arr.slice(0, i)); const rightSum = findSum(arr.slice(i + 1)); if(leftSum === rightSum){ return i; }; }; return -1; }; console.log(balancingIndex(arr));
輸出
3
廣告