Posted on 2023-10-07 01:19
Uriel 閱讀(31)
評論(0) 編輯 收藏 引用 所屬分類:
數學 、
閑來無事重切Leet Code
將一個數拆成幾個數之和,使幾個數乘積最大
盡可能拆成最多的3,若剩下4則不拆
1 #343
2 #Runtime: 17 ms (Beats 54.55%)
3 #Memory: 13.3 MB (Beats 42.93%)
4
5 class Solution(object):
6 def integerBreak(self, n):
7 """
8 :type n: int
9 :rtype: int
10 """
11 if n < 4:
12 return n - 1
13 if n % 3 == 0:
14 return 3**(n//3)
15 if n % 3 == 1:
16 return 3**(n//3 - 1) * 4
17 return 3**(n//3) * 2