【动态规划-卡特兰数——96.不同的二叉搜索树】

1.题目解析

题目来源

|-------------------------------------------------------------------------------------------------------------------|
| 96.不同的二叉搜索树------力扣 |

测试用例

2.算法原理

1.状态表示

2.状态转移方程

3.初始化

需要用到前面位置的值,则需要初始化dp[0]为1,方便后续的填表

4.填表顺序

从前向后

5.返回值

根据状态表示返回dp[n]

3.实战代码

cpp 复制代码
class Solution {
public:
    int numTrees(int n) 
    {
        vector<int> dp(n+1);
        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];
    }
};

代码解析

相关推荐
坚持就完事了3 分钟前
数据结构之堆(Java\Python双语实现)
java·数据结构·算法
蒸蒸yyyyzwd7 分钟前
后端知识学习笔记
笔记·学习
自然语9 分钟前
人工智能之数字生命-观察的实现
数据结构·人工智能·学习·算法
linux_cfan10 分钟前
从“线性观看”到“语义检索”:企业级视频知识库播放器选型指南 (2026版)
javascript·学习·音视频·html5
苦藤新鸡11 分钟前
63.排序数组中找元素的第一个元素和最后一个元素
算法·leetcode
D_evil__13 分钟前
【Effective Modern C++】第六章 lambda表达式:避免使用默认捕获模式
c++
苦藤新鸡20 分钟前
59 分割回文串
算法
得一录22 分钟前
LoRA(Low-Rank Adaptation)的原理和实现
python·算法·机器学习
PieroPc27 分钟前
在飞牛 NAS(fnOS)上使用 Docker 部署 FastAPI 应用(这个是从错误学习教程 图是可以的)
学习·docker·fastapi·飞牛nas
We་ct30 分钟前
LeetCode 106. 从中序与后序遍历序列构造二叉树:题解+思路拆解
前端·数据结构·算法·leetcode·typescript