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];
    }
};
相关推荐
leaves falling19 小时前
c语言-给定两个数,求这两个数的最大公约数
数据结构·算法
SamtecChina202319 小时前
Electronica现场演示 | 严苛环境下的56G互连
大数据·网络·人工智能·算法·计算机外设
想做后端的小C19 小时前
数据结构:线性表原地逆置
数据结构·考研
Tim_1019 小时前
【C++入门】05、复合类型-数组
开发语言·c++·算法
jikiecui19 小时前
信奥崔老师:三目运算 (Ternary Operator)
数据结构·c++·算法
无限进步_19 小时前
【C语言&数据结构】另一棵树的子树:递归思维的双重奏
c语言·开发语言·数据结构·c++·算法·github·visual studio
t1987512819 小时前
同伦(Homotopy)算法求解非线性方程组
算法
Elwin Wong19 小时前
从 Louvain 到 Leiden:保证社区连通性的社区检测算法研究解读
算法·社区检测·graphrag·louvain·leiden
liu****19 小时前
git工具
git·python·算法·机器学习·计算机基础
志摩凛19 小时前
Element UI 长表单校验失败后自动展开折叠面板并滚动定位
数据结构·vue.js