[LintCode]perfect-squares(DP)

题目链接:http://www.lintcode.com/zh-cn/problem/perfect-squares/

就是求最小价值的完全背包,初始化dp[i]=i,假设全是1的时候是最多的,之后就是完全背包了。不知道为什么python过不了,Java和C++都过了。

 public class Solution {
public int numSquares(int n) {
int[] dp = new int[n+1];
for(int i=1; i<=n; i++) dp[i] = i;
for(int i=2; i<=n; i++) {
for(int j = 1; j*j <= i; j++) {
dp[i] = Math.min(dp[i], dp[i-j*j]+1);
}
}
return dp[n];
}
}
上一篇:Jquery实现 TextArea 文本框根据输入内容自动适应高度


下一篇:timus 1109 Conference(二分图匹配)