We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 8f90860 commit feb8a7fCopy full SHA for feb8a7f
1406-stone-game-iii.js
@@ -0,0 +1,22 @@
1
+/**
2
+ * @param {number[]} stoneValue
3
+ * @return {string}
4
+ */
5
+const stoneGameIII = function (stoneValue) {
6
+ const n = stoneValue.length
7
+ const suffixSum = new Array(n + 1)
8
+ const dp = new Array(n + 1)
9
+ suffixSum[n] = 0
10
+ dp[n] = 0
11
+ for (let i = n - 1; i >= 0; i--)
12
+ suffixSum[i] = suffixSum[i + 1] + stoneValue[i]
13
+ for (let i = n - 1; i >= 0; i--) {
14
+ dp[i] = stoneValue[i] + suffixSum[i + 1] - dp[i + 1]
15
+ for (let k = i + 1; k < i + 3 && k < n; k++) {
16
+ dp[i] = Math.max(dp[i], suffixSum[i] - dp[k + 1])
17
+ }
18
19
+ if (dp[0] * 2 === suffixSum[0]) return 'Tie'
20
+ else if (dp[0] * 2 > suffixSum[0]) return 'Alice'
21
+ else return 'Bob'
22
+}
0 commit comments