跳到主要内容

1588.所有奇数长度子数组的和

链接:1588.所有奇数长度子数组的和
难度:Easy
标签:数组、数学、前缀和
简介:请你返回 arr 中 所有奇数长度子数组的和 。

题解 1 - typescript

  • 编辑时间:2021-08-29
  • 执行用时:84ms
  • 内存消耗:39.7MB
  • 编程语言:typescript
  • 解法介绍:前缀和。
function sumOddLengthSubarrays(arr: number[]): number {
const n = arr.length;
const sums = [0];
arr.forEach(v => sums.push(v + sums[sums.length - 1]));
let ans = 0;
for (let l = 0; l <= n; l++) {
for (let r = l + 1; r <= n; r += 2) {
ans += sums[r] - sums[l];
}
}
return ans;
}