513. 完美平方

Posted yunxintryyoubest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了513. 完美平方相关的知识,希望对你有一定的参考价值。

513. 完美平方

中文English

给一个正整数 n, 请问最少多少个完全平方数(比如1, 4, 9...)的和等于n。

样例

样例 1:

输入: 12
输出: 3
解释: 4 + 4 + 4

样例 2:

输入: 13
输出: 2
解释: 4 + 9
输入测试数据 (每行一个参数)如何理解测试数据?
class Solution:
    """
    @param n: a positive integer
    @return: An integer
    """
    ‘‘‘
    大致思路:
    1.划分型动态规划
    ‘‘‘
    def numSquares(self, n):

        #初始化
        dp = [sys.maxsize for _ in range(n + 1)] 
        dp[0] = 0

        for i in range(1,n + 1):
            for j in range(1,i + 1):
                if (i - j*j) >= 0:
                    dp[i] = min(dp[i], dp[i - j*j] + 1)
        
        return dp[n]

注:运行内存超过限制,待优化(划分型动态规划)

 

以上是关于513. 完美平方的主要内容,如果未能解决你的问题,请参考以下文章

测试 n^2 + (n+1)^2 是不是为完美平方的快速方法

计算乘法为完美平方的所有可能对的有效算法[关闭]

完美平方算法 - 实现解释

完美平方

有人知道找出一个数字的逻辑是不是是完美平方吗? [复制]

寻找完美平方数