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 feb8a7f commit fcb4d8bCopy full SHA for fcb4d8b
1406-stone-game-iii.js
@@ -20,3 +20,24 @@ const stoneGameIII = function (stoneValue) {
20
else if (dp[0] * 2 > suffixSum[0]) return 'Alice'
21
else return 'Bob'
22
}
23
+
24
+// another
25
26
+/**
27
+ * @param {number[]} stoneValue
28
+ * @return {string}
29
+ */
30
+const stoneGameIII = function (stoneValue) {
31
+ const n = stoneValue.length,
32
+ dp = new Array(4).fill(0)
33
+ for (let i = n - 1; i >= 0; --i) {
34
+ dp[i % 4] = -Infinity
35
+ for (let k = 0, take = 0; k < 3 && i + k < n; ++k) {
36
+ take += stoneValue[i + k]
37
+ dp[i % 4] = Math.max(dp[i % 4], take - dp[(i + k + 1) % 4])
38
+ }
39
40
+ if (dp[0] > 0) return 'Alice'
41
+ if (dp[0] < 0) return 'Bob'
42
+ return 'Tie'
43
+}
0 commit comments