https://leetcode-cn.com/problems/integer-break/

https://leetcode-cn.com/problems/jian-sheng-zi-lcof/

# -*- coding:utf-8 -*-

class Solution:
    def cuttingRope(self, n: int) -> int:
        dp = [0 for _ in range(n+1)]
        dp[0]  = 1
        if n <= 2:
            return dp[n - 1]
        # 长度
        for i in range(2, n+1):
            for j in range(i):
                dp[i] = max(dp[i], max(j * dp[i - j], j * (i - j)))
        return dp[-1]
if __name__ == '__main__':
    n = 10
    print(Solution().cuttingRope(n))

思路:简单的动态规划。类似于动态规划的钢条切割问题。

分类: 算法

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注