Skip to content

Practice Stone Game III

Read the task, work through the examples, and check your approach against the constraints. Use the original LeetCode task for coding and submissions.

Hard#1406
LeetCode Problem

Stone Game III

Problem Statement

Alice and Bob continue their games with piles of stones. There are several stones arranged in a row, and each stone has an associated value which is an integer given in the array stoneValue. Alice and Bob take turns, with Alice starting first. On each player's turn, that player can take 1, 2, or 3 stones from the first remaining stones in the row. The score of each player is the sum of the values of the stones taken. The score of each player is 0 initially. The objective of the game is to end with the highest score, and the winner is the player with the highest score and there could be a tie. The game continues until all the stones have been taken. Assume Alice and Bob play optimally. Return "Alice" if Alice will win, "Bob" if Bob will win, or "Tie" if they will end the game with the same score.

Source: Stone Game III on LeetCode. Use the original task for its coding environment and submissions.

Examples

# Example 1

Input
stoneValue = [1,2,3,7]
Output
"Bob"

# Example 2

Input
stoneValue = [1,2,3,-9]
Output
"Alice"

# Example 3

Input
stoneValue = [1,2,3,6]
Output
"Tie"

Constraints

1 <= stoneValue.length <= 5 * 10^4
-1000 <= stoneValue[i] <= 1000

Related LeetCode Problems

Practice more problems similar to Stone Game III.

Review your practice with PhantomCodeAI

After trying the problem yourself, use the app to discuss your approach, complexity, and edge cases.