279. 完全平方数
class Solution {public int numSquares(int n) {int[] dp = new int[n + 1];Arrays.fill(dp, Integer.MAX_VALUE);dp[0] = 0;int maxSquareLen = (int)Math.sqrt(n) + 1;int[] squareNum = new int[maxSquareLen];for (int i = 0; i < maxSquareLen; i++) {squareNum[i] = i * i;}for (int i = 1; i <= n; i++) {for (int index = 1; index < maxSquareLen; index++) {if (i < squareNum[index]) {break;}dp[i] = Math.min(dp[i], dp[i - squareNum[index]] + 1);}}return dp[n];}}
