https://leetcode-cn.com/problems/perfect-squares/
思路:,列出个完全平方数,问题就转化成了完全揹包问题。
class Solution {
public:
int numSquares(int n) {
vector<int> dp(n+1,0x3f3f3f3f);
vector<int> a;
for(int i=1;i*i<=n;i++)
a.push_back(i*i);
dp[0]=0;
int siz=a.size();
for(int i=0;i<siz;i++)
for(int j=a[i];j<=n;j++)
dp[j]=min(dp[j],dp[j-a[i]]+1);
return dp[n];
}
};