1 public class Solution {
 2     public int numSquares(int n) {
 3         int[] dp = new int[n + 1];
 4         for (int i = 1; i <= n; i++) {
 5             dp[i] = i;
 6             for (int j = 1; j*j <= i; j++) {
 7                 dp[i] = Math.min(dp[i], dp[i - j*j] + 1);
 8             }
 9         }
10         return dp[n];
11     }
12 }

 

posted on 2016-07-07 13:11  keepshuatishuati  阅读(132)  评论(0编辑  收藏  举报