Leetcode 343. 整数拆分 动态规划

原题链接:Leetcode 343. 整数拆分

cpp 复制代码
class Solution {
public:
    int integerBreak(int n) {
        if(n==2) return 1;
        int res=0;
        // dp[i]表示i拆分后可以获得的最大乘积
        vector<int> dp(n+1,0);
        dp[2]=1;
        for(int i=3;i<=n;i++){
            for(int j=1;j<=i/2;j++){
                // 将 i 拆分成 j 和 i−j 的和,且 i−j 不再拆分成多个正整数,此时的乘积是 j×(i−j)
                // 将 i 拆分成 j 和 i−j 的和,且 i−j 继续拆分成多个正整数,此时的乘积是 j×dp[i−j]
                dp[i]=max(dp[i],max((i-j)*j , dp[i-j]*j));
            }
        }
        return dp[n];
    }
};
相关推荐
尹玉玺4 小时前
从原子残片到天道公理:以德谟克利特思想全貌,重新定界西方唯物认知的历史层级与边界
人工智能·算法·架构
青少儿编程课堂4 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:差分数组与区间修改实战解析
c++·python·算法·bfs·信息学竞赛
重生之小比特5 小时前
【算法拾光】二分查找|二分查找 + 再排序数组中查找元素的第一个和最后一个位置
算法·leetcode·职场和发展
文丑颜不良啊5 小时前
LeetCode76~100题目解析
java·leetcode
零基础1235 小时前
基于模型的强化学习与不基于模型的强化学习:核心区别与实战选择
python·算法
罗西的思考16 小时前
【Agentic RL】Dressage Staleness 控制深度分析
人工智能·算法·机器学习
quaer16 小时前
弗洛伊德算法--判圈法寻找环的入口O(n) O(1)
数据结构·算法
文丑颜不良啊18 小时前
LeetCode51~75题目解析
leetcode
高晶18 小时前
无乘法器实现LC二阶滤波器:基于移位运算的快速算法与四种精度推导
算法·设计模式·程序员
ysbfsy18 小时前
大数计算思路
算法