1 动态规划(完全背包)
没啥好说的,完全背包走就行了
代码语言:javascript复制class Solution {
public:
int numSquares(int n) {
vector<int> dp(n 1, INT_MAX);
dp[0] = 0;
for (int i = 1; i * i <= n; i ) // 物品
for (int j = i; j <= n; j ) // 背包容量
if (j >= i * i && j - i * i != INT_MAX)
dp[j] = min(dp[j], dp[j - i * i] 1);
return dp[n];
}
};