Skip to content

Commit 5d9eb8a

Browse files
committed
[LEET] 1690 Stone Game VII (Medium)
1 parent 747ce18 commit 5d9eb8a

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

이용훈/10주차/260306.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* @param {number[]} stones
3+
* @return {number}
4+
*/
5+
var stoneGameVII = function(stones) {
6+
const n = stones.length;
7+
8+
const ps = Array(n + 1).fill(0);
9+
for (let i = 0; i < n; i++) ps[i + 1] = ps[i] + stones[i];
10+
11+
const rangeSum = (l, r) => ps[r + 1] - ps[l];
12+
13+
const dy = Array.from({ length: n }, () => Array(n).fill(0));
14+
for (let i = 2; i <= n; i++) {
15+
for (let l = 0; l + i - 1 < n; l++) {
16+
const r = l + i - 1;
17+
const left = rangeSum(l + 1, r) - dy[l + 1][r];
18+
const right = rangeSum(l, r - 1) - dy[l][r - 1];
19+
20+
dy[l][r] = Math.max(left, right);
21+
}
22+
}
23+
24+
return dy[0][n - 1];
25+
};

0 commit comments

Comments
 (0)