高中时候学的不等式的直觉,因子越相近,乘积越大
剪绳子
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)