首页 > 其他 > 详细

LeetCode 343. Integer Break

时间:2016-05-19 01:29:01      阅读:124      评论:0      收藏:0      [点我收藏+]

https://leetcode.com/problems/integer-break/

数学题。

技术分享
 1 #include <iostream>
 2 using namespace std;
 3 
 4 class Solution {
 5 public:
 6     int integerBreak(int n) {
 7         if (n == 2) return 1;
 8         if (n == 3) return 2;
 9         
10         int product = 1;
11         while (n > 4)
12         {
13               n -= 3;
14               product *= 3;              
15         }
16         product *= n;
17                 
18         return product;
19     }
20 };
21 
22 int main ()
23 {
24     Solution testSolution;
25     int result;
26     
27     result = testSolution.integerBreak(5);    
28     cout << result << endl;
29     
30     char ch;
31     cin >> ch;
32     
33     return 0;
34 }
View Code

也可以用DP,但自己写的DP想错了,想到分解成MAX(N-2 * 2, N-3 * 3), 应该用MAX(MAX, I-J * J)。

https://leetcode.com/discuss/102024/java-greedy-o-logn-simple-code-and-o-n-2-dp

 

LeetCode 343. Integer Break

原文:http://www.cnblogs.com/pegasus923/p/5507138.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!