首页 > 其他 > 详细

leetcode-面试题14-1-剪绳子

时间:2020-04-09 11:45:54      阅读:68      评论:0      收藏:0      [点我收藏+]

题目描述:

技术分享图片

 

 第一次提交:

class Solution:
    def cuttingRope(self, n: int) -> int:
        ans = 0
        for m in range(2,max(n//2,3)):
            j = 1
            a = n//m
            b = n%m
            for _ in range(b):
                j *= (a+1)
            for _ in range(m-b):
                j *= (a)
            ans = max(ans,j)
        return ans

数学法:O(1)

class Solution:
    def cuttingRope(self, n: int) -> int:
        if n <= 3: return n - 1
        a,b = n//3,n%3
        if b == 0: return int(math.pow(3,a))
        if b == 1:return int(math.pow(3,a-1)*4)
        return int(math.pow(3,a)*2)

 

leetcode-面试题14-1-剪绳子

原文:https://www.cnblogs.com/oldby/p/12665792.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!