题目279:完全平方数

示例1:
输入: n = 12输出: 3解释: 12 = 4 + 4 + 4.
输入: n = 13输出: 2解释: 13 = 4 + 9.
动态规划问题,我是首先手动列出来前几个数字的输入输出:
输入 输出 解释n=1, 1, 1n=2, 2, 1,1n=3, 3, 1,1,1n=4, 1, 4n=5, 2, 4,1n=6, 3, 4,1,1n=7, 4, 4,1,1,1n=8, 2, 4,4n=9, 1, 9
dp[0]=0;dp[i]=min(dp[i-i之前的完全平方和]+1);
class Solution {public:int numSquares(int n) {vector<int> dp(n+1, INT_MAX);dp[0] = 0;for (int i = 1; i <=n; ++i) {// 使用tem少进行一次乘法运算for (int j = 1, tem = 0; tem = j * j, tem <= i; ++j) {dp[i] = min(dp[i], dp[i-tem] + 1);}}return dp[n];}};
