leetcode 279.完全平方数
动态转移方程:dp[i] = min(dp[i], dp[i - j * j] + 1)
其中dp[i]初始值为i(最坏情况都由1组成)
class Solution {
public:
int numSquares(int n) {
vector<int> dp;
dp.push_back(0);
for(int i = 1; i <= n; i++){
dp.push_back(i);
for(int j = 1; i - j * j >= 0; j++){
dp[i] = min(dp[i], dp[i - j * j] + 1);
}
}
return dp[n];
}
};