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

1.题目解析

题目来源

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

测试用例

2.算法原理

1.状态表示

2.状态转移方程

3.初始化

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

4.填表顺序

从前向后

5.返回值

根据状态表示返回dpn

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];
    }
};

代码解析

相关推荐
科学实验家2 分钟前
贪心算法:分饼干
算法·贪心算法
南清的coding日记7 分钟前
7.31 RAG八股+小程序学习+公众号阅读
学习
誰能久伴不乏7 分钟前
深入解析 C++ STL 底层原理:从设计哲学到内存收割机
c++·架构·stl
额,不知道写啥。19 分钟前
题解:P16710 愿望
数据结构·算法
星恒随风21 分钟前
Linux 基础指令(三):grep、压缩打包、系统信息与 Shell 运行原理
linux·笔记·学习
jinyishu_24 分钟前
C++继承与多态进阶
开发语言·c++·程序人生
程序猿编码33 分钟前
用 C++ 从零写一个能训练的 GPT:标量自动微分 + Arena 内存池
开发语言·c++·gpt·transformer·模型推理
库玛西33 分钟前
快速幂算法全景总结图:从“愚公移山”到“细胞分裂”
c语言·c++·笔记·算法
郝学胜_神的一滴34 分钟前
Qt 高级编程 038:打造高颜值下拉菜单按钮
c++·qt
七号驿栈37 分钟前
深入理解 MAC 消息认证算法:原理、分类与应用
算法