Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594
将一个数拆成几个数之和,使几个数乘积最大
尽可能拆成最多的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

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理