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