存量权益登记在哪个网站上做企业网站营销优缺点
想了一会,其实动态规划题只需要往状态转换方程想就好了。
最开始的想法是构建词典记录一直到n的平方数,然后用数组记录从1到n的完全平方数的最小数,每次变量一遍词典,比如n为9就分别遍历比较第9-3*3个数的完全平方数的最小数,第9-2*2个数的完全平方数的最小数,第9-1*1个数的完全平方数的最小数……每次取最小的那个加一。
优化掉字典就是这样:
class Solution {
public:int numSquares(int n) {int pre[10001];pre[0]=0;pre[1]=1;for(int i=2;i<=n;i++){pre[i]=i;for(int j=0;j*j<=i;j++) pre[i]=min(pre[i-j*j]+1,pre[i]);}return pre[n];}
};