高中时候学的不等式的直觉,因子越相近,乘积越大

剪绳子

http://www.nowcoder.com/questionTerminal/57d85990ba5b440ab888fc72b0751bf8

# 直觉,请问有大佬告诉这个方法为什么行的通吗
# 假设number划分成m等分,在所有的乘积当中,若number能整除m则:最大值一定在 pow(m,x),pow(x,m)中,若不能整除最大值在pow(m,x)*y,pow(x,m)*y中
class Solution:
    def cutRope(self, number):
        # write code here
        results=[]
        if number==2:
          return 1
        for m in range(2,number):
          x=number/m
          y=number%m
          if y!=0:
            results.append(max(pow(m,x)*y,pow(x,m)*y))
          else:
            results.append(max(pow(m,x),pow(x,m)))
        return max(results)
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务