Skip to content

Commit 62f6696

Browse files
authored
Create 1588-sum-of-all-odd-length-subarrays.js
1 parent 77c53e9 commit 62f6696

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* @param {number[]} arr
3+
* @return {number}
4+
*/
5+
const sumOddLengthSubarrays = function(arr) {
6+
const n = arr.length, pre = Array(n + 1).fill(0)
7+
for(let i = 0; i < n; i++) pre[i + 1] = pre[i] + arr[i]
8+
9+
let res = 0
10+
let len = 1
11+
while(len <= n) {
12+
for(let i = 0; i <= n - len; i++) {
13+
res += pre[i + len] - pre[i] // len === 1: 1 - 0, 2 - 1
14+
// len === 3: 3 - 0, 6 - 3
15+
}
16+
17+
len += 2
18+
}
19+
20+
return res
21+
22+
};

0 commit comments

Comments
 (0)