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];
    }
};
相关推荐
jianglq1 小时前
C++20 协程:异步编程的新纪元
算法·c++20
wniuniu_2 小时前
动态规划前---选----
算法·动态规划
lzb_kkk3 小时前
【Redis】redis5种数据类型(哈希)
开发语言·redis·算法·缓存·哈希算法
鱼跃鹰飞3 小时前
Leetcode面试经典150题-202.快乐数
算法·leetcode·面试
鱼跃鹰飞3 小时前
Leetcode面试经典150题-82.删除排序链表中的重复元素II
算法·leetcode·面试
云边有个稻草人5 小时前
【刷题】Day4--密码检查
开发语言·数据结构·笔记·算法
苦瓜汤补钙6 小时前
论文阅读:3D Gaussian Splatting for Real-Time Radiance Field Rendering
论文阅读·人工智能·算法·3d
LNTON羚通6 小时前
明烟明火检测算法、烟火检测、森林防火检测
大数据·网络·人工智能·算法·音视频
MogulNemenis7 小时前
力扣100题——技巧
算法·leetcode
每天瞎忙的农民工7 小时前
PHP常用的几种算法
算法·php