欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode 343. 整数拆分(Integer Break)

发布时间:2025/5/22 编程问答 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。