Back to Month
HARD 10 Aug 2026 View on LeetCode

1510. Stone Game IV

</> Solution

class Solution {
    public boolean winnerSquareGame(int n) {
        boolean[] dp = new boolean[n + 1];
        for (int i = 1; i <= n; i++) {
            for (int k = 1; k * k <= i; k++) {
                if (!dp[i - k * k]) {
                    dp[i] = true;
                    break;
                }
            }
        }
        return dp[n];
    }
}

TIME COMPLEXITY

O(n√n)

SPACE COMPLEXITY

O(n)

TOPICS

Bottom-Up DP Dynamic Programming Game Theory Math Memoization