1
var stoneGameIII = function (stoneValue) {
2
let len = stoneValue.length - 1;
3
let bestMoves = [0, 0, 0];
4
bestMoves[len % 3] = stoneValue[len];
5
for (let i = len - 1; i >= 0; i--) {
6
let turn = stoneValue[i];
7
let option1 = turn - bestMoves[(i + 1) % 3];
8
turn += stoneValue[i + 1] || 0;
9
let option2 = turn - bestMoves[(i + 2) % 3];
10
turn += stoneValue[i + 2] || 0;
11
let option3 = turn - bestMoves[i % 3];
12
let best = Math.max(option1, option2, option3);
13
bestMoves[i % 3] = best;
14
}
15
return bestMoves[0] > 0 ? "Alice" : bestMoves[0] !== 0 ? "Bob" : "Tie";
16
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0