0
点赞
收藏
分享

微信扫一扫

LeetCode 279.完全平方数

Resin_Wu 2022-03-22 阅读 60

LeetCode 279.完全平方数

ways:

动态规划

dp[i] : 代表i最少由几个完全平方数组成

初始化:

dp[0] : 0
dp[i] : i 	// 最差情况是由i个1组成

递推公式:

dp[i] = min(dp[i],dp[i-j*j]+1)		// ‘‘寻找距离i最近的完全平方数‘’

完整代码:

class Solution {
public:
    int numSquares(int n) {
        vector<int> dp(n+1,0);
        for(int i=1;i<=n;i++)
        {
            dp[i] = i;  // 最坏的情况,dp[i] = i;即由i个1相加而成
            for(int j=1;j*j<=i;j++)
            {
                dp[i] = min(dp[i],dp[i-j*j] + 1);
            }
        }
        return dp[n];
    }
};
举报

相关推荐

0 条评论