leetcode 343. 整数拆分(Integer Break)
生活随笔
收集整理的这篇文章主要介绍了
leetcode 343. 整数拆分(Integer Break)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
目录
- 题目描述:
- 示例 1:
- 示例 2:
- 解法:
题目描述:
给定一个
正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。
示例 1:
输入: 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:
输入: 10 输出: 36 解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。
解法:
class Solution { public:int integerBreak(int n) {//2, 2,//3, 3,//4, 4,//5, 2 + 3if(n <= 3){return n-1;}vector<long long> lst(60, 0);for(int i = 2; i < 60; i++){lst[i] = i;for(int j = 1; j <= i/2; j++){lst[i] = max(lst[i], lst[j]*lst[i-j]);}}return lst[n];} };转载于:https://www.cnblogs.com/zhanzq/p/10930503.html
总结
以上是生活随笔为你收集整理的leetcode 343. 整数拆分(Integer Break)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 《学习之道》第十章总结
- 下一篇: 跟我一起学编程—《Scratch编程》第