JavaScript 中所有可能的奇數長度子陣列總和
我們要求編寫一個 JavaScript 函式,其中以整數陣列作為唯一引數。
該函式應首先排列原始陣列中所有可能的長度為奇數的子陣列。然後,該函式應找到這些子陣列中所有元素的總和並返回該總和。
例如 −
如果輸入陣列為 −
const arr = [1, 2, 3];
那麼輸出應該是 −
const output = 12;
因為所需的子陣列是 [1]、[2]、[3]、[1, 2, 3]
示例
以下是程式碼 −
const arr1 = [1, 2, 3]; const arr2 = [1, 2, 3, 4, 5, 6]; const sumOfOddLengthSubarrays = (arr = []) => { let res = 0; for(let i = 0; i < arr.length; i++){ let sum = 0; for(let j = i; j < arr.length; j++){ sum += arr[j]; if (((j - i + 1) & 1) === 0) { continue; }; res += sum; } }; return res; }; console.log(sumOfOddLengthSubarrays(arr1)); console.log(sumOfOddLengthSubarrays(arr2));
輸出
以下是控制檯輸出 −
12 98
廣告