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];
}
};