【动态规划-卡特兰数——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];
    }
};

代码解析

相关推荐
刘沅5 分钟前
LeetCode 93.复原IP地址
算法·面试
其实防守也摸鱼23 分钟前
运维--安全与数据库
网络·数据库·学习·安全·安全威胁分析·数据库架构·软件安全
黑不溜秋的32 分钟前
C++ STL 容器使用的底层数据结构
c++
灵晔君1 小时前
【C++】标准模板库STL——set /multiset/map /multimap
开发语言·c++
pop_xiaoli1 小时前
【iOS】YYModel源码学习
学习·ios·objective-c·cocoa
阿里技术1 小时前
Agent 评测:方法论与体系设计
大数据·人工智能·算法
嵌入式-老费1 小时前
esp32开发与应用(利用loopback学习can)
学习
cxr8282 小时前
大语言模型上下文缓存命中率测试全场景清单
人工智能·python·算法·缓存·语言模型·自然语言处理·llm
noipp2 小时前
推荐题目:洛谷 P13554 【MX-X15-T1】奶龙龙
c语言·数据结构·c++·算法·编程·洛谷
念风2 小时前
一阶低通滤波器系数的两种计算方法
算法