leetcode279 完全平方数
class Solution { public: int numSquares(int n) { //初始化vector<int> dp[i]=i i=[0,n]; //状态转移方程 dp[i]=min(dp[i],dp[i-j*j]+1) i-j*j>=0 && j=0, j++; //time O(nsqrt(n)) space O(1); vector<int> dp; for(int i=0;i<=n;i++){ dp.push_back(i); } for(int i=1;i<=n;i++){ for(int j=1;i-j*j>=0;j++){ dp[i]=min(dp[i],dp[i-j*j]+1); } } return dp[n]; } };