AlgoMaster Logo

Perfect Squares

n=12
1public int numSquares(int n) {
2    int[] dp = new int[n + 1];
3    Arrays.fill(dp, Integer.MAX_VALUE);
4    dp[0] = 0;
5
6    for (int i = 1; i <= n; i++) {
7        for (int j = 1; j * j <= i; j++) {
8            dp[i] = Math.min(dp[i], dp[i - j * j] + 1);
9        }
10    }
11
12    return dp[n];
13}
0 / 76
149Perfect SquaresDP Array (Min Squares)