代码随想录算法训练营第四十天| 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];
    }
};
相关推荐
小范自学编程19 小时前
算法训练营 Day27 - 贪心算法part01
算法·贪心算法
码农三叔19 小时前
(11-4-02)完整人形机器人的设计与实现案例:机器人跳跃
人工智能·算法·机器人·人机交互·人形机器人
xiaoye-duck19 小时前
深入解析 STL 优先级队列:从原理到实战
c++·算法·stl
蜕变的小白19 小时前
数据结构:排序算法与哈希表
数据结构·算法·哈希算法
_OP_CHEN19 小时前
【算法基础篇】(六十一)SG 函数通关指南:博弈论通用解法,从原理到实战秒杀各类 ICG 游戏
算法·蓝桥杯·c/c++·博弈论·acm/icpc·sg函数·有向图游戏
We་ct19 小时前
LeetCode 2. 两数相加:链表经典应用题详解
前端·算法·leetcode·链表·typescript
If using 10 days19 小时前
multiprocessing:创建并管理多个进程
python·算法
wu_asia19 小时前
每日一练壹
算法
程序员酥皮蛋19 小时前
hot 100 第二十二题 22.相交链表
数据结构·算法·leetcode·链表
一只小小的芙厨19 小时前
寒假集训·子集枚举2
c++·笔记·算法·动态规划