DP-343. 整数拆分

给定一个正整数 n ,将其拆分为 k正整数 的和( k >= 2 ),并使这些整数的乘积最大化。

返回 你可以获得的最大乘积

示例 1:

复制代码
输入: n = 2
输出: 1
解释: 2 = 1 + 1, 1 × 1 = 1。

示例 2:

复制代码
输入: n = 10
输出: 36
解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。

提示:

  • 2 <= n <= 58
cpp 复制代码
class Solution {
public:
    int integerBreak(int n) {
        vector<int> dp(n+1, 0);
        dp[1] = 0;
        dp[2] = 1;

        for(int i = 3; i <= n; i++) {
            for(int j = 1; j < i; j++) {
                dp[i] = max(dp[i], max(j * (i - j), j * dp[i - j]));
            }
        }

        return dp[n];
    }
};
相关推荐
飞天狗1113 分钟前
最短路算法
算法
汉克老师15 分钟前
GESPC++考试五级语法知识(二、埃氏筛与线性筛)课后习题
算法·线性筛·素数·gesp5级·gesp五级·埃氏筛·筛法
0 0 019 分钟前
洛谷P4427 [BJOI2018] 求和 【考点】:树上前缀和
开发语言·c++·算法·前缀和
Darkwanderor25 分钟前
数据结构——树状数组和在线、离线操作
数据结构·c++·树状数组·离线操作
佩奇大王26 分钟前
P593 既约分数
java·开发语言·算法
云泽80830 分钟前
蓝桥杯算法精讲:贪心算法之推公式例题深度剖析
算法·贪心算法·蓝桥杯
客卿1231 小时前
力扣--组合,子集--回溯法的再探索--总结回溯法
java·算法·leetcode
_日拱一卒1 小时前
LeetCode(力扣):环形链表
算法·leetcode·链表
做怪小疯子1 小时前
Leetcode刷题——链表就地反转
算法·leetcode·链表
仟濹1 小时前
【算法打卡day22(2026-03-14 周六)今日算法or技巧:双指针 & 链表】9个题
数据结构·算法·链表·双指针