leetcode之Integer Break

来源:互联网 发布:t-sql语法基础知识 编辑:程序博客网 时间:2024/04/30 09:30

这题就是把整数拆开一系列的数字之和,使之乘积最大。从题目的提示信息来看发现了规律,就是7-10,严格来讲是8到10,因为我看7反而是个特殊情况。

class Solution(object):    def integerBreak(self, n):        """        :type n: int        :rtype: int        """        if n == 2:            return 1        if n == 3:            return 2        if n == 5:            return 6        a = n / 6        b = n % 6        if b == 0:            return 3 ** (2 * a)        if b == 1:            return 12 * ( 3 ** (2 * (a - 1)))        if b == 2:            return 2 * (3 ** (2 * a))        if b == 3:            return 3 * (3 ** (2 * a))        if b == 4:            return 4 * (3 ** (2 * a))        if b == 5:            return 6 * (3 ** (2 * a))基本都是3*3再乘以后面的数
0 0
原创粉丝点击