LeetCode Integer Break(整数拆分问题)
2016-06-30 11:45
253 查看
题意:给出一个大于等于2的正整数,将其拆分成若干个整数的和,使得其积最大
思路:在大于4的情况下,将其拆分成若干个3的和,这种情况下积是最大的
代码如下:
public class Solution
{
public int integerBreak(int n)
{
if (1 == n) return 1;
else if (2 == n) return 1;
else if (3 == n) return 2;
else if (4 == n) return 4;
int ret = 1;
while (n > 4)
{
ret *= 3;
n -= 3;
}
return ret * n;
}
}
思路:在大于4的情况下,将其拆分成若干个3的和,这种情况下积是最大的
代码如下:
public class Solution
{
public int integerBreak(int n)
{
if (1 == n) return 1;
else if (2 == n) return 1;
else if (3 == n) return 2;
else if (4 == n) return 4;
int ret = 1;
while (n > 4)
{
ret *= 3;
n -= 3;
}
return ret * n;
}
}
相关文章推荐
- 获取栈顶Activity与判断是否有网络
- js使用cookies存取用户名和密码
- Elasticsearch java API (12)Search API MultiSearch API
- Mysql 配置文件详解
- Windows 7 32 安装Numpy
- xml解析+刷新
- 轻量级数据库 ----SQLite
- svm 核函数
- ftl总结
- Python列出一个文件夹及其子目录的所有文件
- Windows2003下php5.4安装配置教程(IIS)
- 多维化计算机数据压缩方法
- 静态Fragment碎片使用 范例
- CentOS镜像使用
- Android 自定义 spinner (背景、字体颜色)
- Standord NLP组整理的NLP工具、资源列表
- Android对外置sd卡的权限问题(上)
- 关于BroadcastReceiver 监听网络状态
- 分治算法-面试题
- wamp 提示 Directive allow_call_time_pass_reference is no longer avaiable in PHP