题目链接
题目描述
实现代码
动态规划思想:
class Solution {public int numSquares(int n) {if(n == 1) {return 1;}int[] dp = new int[n+1];dp[1] = 1;int result = Integer.MAX_VALUE;for(int i=2; i<=n; i++) {int min = Integer.MAX_VALUE;for(int j=1; j*j <= i; j++) {min = Math.min(min, dp[i-j*j] + 1);}dp[i] = min;if(i == n) {result = Math.min(result, min);}}return result;}}
