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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言
C++
C#
MongoDB
MySQL
Javascript
PHP