279. 完全平方数
题目
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4540e30d6eed37a483606f4ee90ca506.png)
思路
找出i减去小于i的完全平方数的数的最小组成个数,然后加一为i的组成个数,过一遍到n。
代码
class Solution {
public:
int numSquares(int n) {
vector<int> a(n+1,0);
for(int i=1;i<=n;i++)
{
int mi=0x3f3f3f;
for(int j=1;j*j<=i;j++)
mi=min(mi,a[i-j*j]);
a[i]=mi+1;
}
return a[n];
}
};