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];
    }
};
相关推荐
yuuki2332332 分钟前
【C++】vector底层实现全解析
c++·后端·算法
小尧嵌入式12 分钟前
C++选择排序插入排序希尔排序快排归并排及大小根堆实现优先级队列
数据结构·c++·windows·算法·排序算法
吴声子夜歌28 分钟前
数据结构——二叉树
数据结构
天赐学c语言30 分钟前
12.29 - 字符串相加 && vector和map的区别
数据结构·c++·算法·leecode
一招定胜负33 分钟前
支持向量机实现垃圾邮件分类及参数调优原理
算法·支持向量机·分类
CodeByV38 分钟前
【算法题】位运算
数据结构·算法
郝学胜-神的一滴44 分钟前
李航《机器学习方法》全面解析与高效学习指南
人工智能·python·算法·机器学习·数学建模·scikit-learn
CS创新实验室1 小时前
奈奎斯特定理:信号处理与通信领域的基石理论
计算机网络·算法·信号处理·奈奎斯特定理
雪花desu1 小时前
【Hot100-Java简单】/LeetCode 283. 移动零:两种 Java 高效解法详解
数据结构·python·算法
随意起个昵称1 小时前
【做题总结】顺子(双指针)
c++·算法