class Solution:
    def cuttingRope(self, n: int) -> int:
        dp=[0 for _ in range(n+1)]
        dp[2]=1
        for i in range(3,n+1):
            for j in range(i):
                dp[i]=max(dp[i],max(j*(i-j),dp[i-j]*j))
        return dp[n]%1000000007
class Solution:
    def cuttingRope(self, n: int) -> int:
        dp = [0 for _ in range(n+1)]
        dp[0] = 1
        for i in range(1, n): #注意这里是n 不是n+1
            for j in range(i, n+1):
                dp[j] = max(dp[j], dp[j-i]*i)
        return dp[n] % 1000000007

 

posted on 2020-04-05 14:52  topass123  阅读(179)  评论(0编辑  收藏  举报