Posted on 2023-10-07 01:19
Uriel 阅读(23)
评论(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