Day40| 343 整数拆分 96 不同的二叉搜索树

目录

[343 整数拆分](#343 整数拆分)

[96 不同的二叉搜索树](#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((i - j) * j, dp[i - j] * j));
            }
            cout << "dp[" << i << "] = " << dp[i] << endl;
        }
        return dp[n];
    }
};

96 不同的二叉搜索树

cpp 复制代码
class Solution {
public:
    int numTrees(int n) {
        //1 第 i 个数有dp[i]种不同的二叉树数量
        vector<int> dp(n + 1, 0);
        //2 初始化
        dp[0] = 1;
        dp[1] = 1;
        //3 数组遍历
        for(int i = 2; i <= n; i++){
            for(int j = 1; j <= i; j++){
                //4 递归方程
                dp[i] += dp[j - 1] * dp[i - j];
            }
        }
        return dp[n];
    }
};
相关推荐
abant29 分钟前
leetcode 23合并k个有序链表
算法·leetcode·链表
啊董dong10 分钟前
noi-2026年3月24号作业
数据结构·c++·算法
WolfGang00732124 分钟前
代码随想录算法训练营 Day19 | 回溯算法 part01
数据结构·算法
汉克老师24 分钟前
GESP5级C++考试语法知识(十、二分算法(二))
c++·算法·二分算法·gesp5级·gesp五级·找答案
cheems952737 分钟前
[数据结构]栈和队列的互相模拟实现
数据结构·算法
计算机安禾40 分钟前
【数据结构与算法】第6篇:线性表(二):单链表的实现(头插法、尾插法)
c语言·数据结构·学习·算法·链表·visual studio code·visual studio
2401_8732046541 分钟前
C++与Node.js集成
开发语言·c++·算法
☆5661 小时前
基于C++的区块链实现
开发语言·c++·算法
ysa0510301 小时前
迷宫传送[最短路径]
c++·笔记·算法·深度优先
左左右右左右摇晃1 小时前
数据结构——链表
数据结构·链表