LeetCode
来源:互联网 发布:淘宝a店是什么店 编辑:程序博客网 时间:2024/05/26 09:57
解题代码:
classSolution {
public:
int integerBreak(int n) {
if(n==2)
return 1;
if(n==3)
return 2;
if(n==4)
return 4;
int res=0;
int i=n/3,j=n%3;
if(j==0)
return pow(3,i);
if(j==1)
return pow(3,i-1)*4;
if(j==2)
return pow(3,i)*2;
}
};
解题思路:
题目要求把n分解成至少两个正整数,使得这些正整数之积最大。一开始并没有太多的思路,后来经过尝试后发现了一个规律,将一个数分解成尽可能多的3,它们的积最大。对于不能被3整除的数,假设功能分解成i个3,若余数为2,,2*3^i最大,若余数为1,则4*3^(i-1)最大。而对于4,此规律不适用,但明显可知结果为4,而2与3,因为必须分解成至少两个数,所以也无法利用此规律,而结果分别为1与2。
0 0
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode
- leetcode:
- leetcode:
- LeetCode
- leetcode
- LEETCODE
- leetcode
- leetCode
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode:
- leetcode
- sys.argv用法
- IntelliJ Idea 常用快捷键列表
- Cloudera Manager、CDH零基础入门、线路指导
- 代码注释:机器学习实战第7章 利用AdaBoost元算法提高分类性能
- 操作系统小练习3
- LeetCode
- ubuntu 16.04上对Python版本之间的切换(2.7\3.X)
- 双系统 ubuntu 16.04 和 win 10 时间同步问题
- 测试
- 链式栈的类定义
- 3多线程断点下载一个文件(android工程:java实现)
- Qt中路径问题小结
- 最小费用最大流模板
- 我上辈子欠你的