代码随想录算法训练营第四十天| 343. 整数拆分、96.不同的二叉搜索树

代码随想录算法训练营第四十天| 343. 整数拆分、96.不同的二叉搜索树

343. 整数拆分

题目链接
文章讲解

cpp 复制代码
class Solution {
public:
    int integerBreak(int n) {
        vector<int> dp(n + 1);
        dp[2] = 1;
        for (int i = 3; i <= n; i++) {
            for (int j = 1; j <= i / 2; j++) {
                dp[i] = max(dp[i], max(j * (i - j), j * dp[i - j]));
            }
        }
        return dp[n];
    }
};

96.不同的二叉搜索树

题目链接
文章讲解

cpp 复制代码
class Solution {
public:
    int numTrees(int n) {
        if (n <= 2) return n;
        vector<int> dp(n + 1, 0);
        dp[0] = 1;
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= i; j++) {
                dp[i] += dp[j - 1] * dp[i - j];
            }
        }
        return dp[n];
    }
};
相关推荐
leiming62 小时前
C++ vector容器
开发语言·c++·算法
Xの哲學3 小时前
Linux流量控制: 内核队列的深度剖析
linux·服务器·算法·架构·边缘计算
yaoh.wang4 小时前
力扣(LeetCode) 88: 合并两个有序数组 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·双指针
LYFlied5 小时前
【每日算法】 LeetCode 56. 合并区间
前端·算法·leetcode·面试·职场和发展
艾醒5 小时前
大模型原理剖析——多头潜在注意力 (MLA) 详解
算法
艾醒5 小时前
大模型原理剖析——DeepSeek-V3深度解析:671B参数MoE大模型的技术突破与实践
算法
jifengzhiling6 小时前
零极点对消:原理、作用与风险
人工智能·算法
鲨莎分不晴7 小时前
【前沿技术】Offline RL 全解:当强化学习失去“试错”的权利
人工智能·算法·机器学习
XFF不秃头7 小时前
力扣刷题笔记-全排列
c++·笔记·算法·leetcode