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

代码解析

相关推荐
飞Link2 分钟前
零基础:离散数据积分与 Python 实现保姆级教程
python·算法
圣保罗的大教堂4 分钟前
leetcode 836. 矩形重叠 简单
leetcode
今年下半年5 分钟前
mysql数据库备份详细操作流程
学习·mysql
湘美书院--湘美谈教育7 分钟前
湘美书院夜谈录:AI时代的体验感与选择价值观念
人工智能·深度学习·学习·安全·生活
小雪崩8 分钟前
嵌入式学习 day49:ARM基础
嵌入式硬件·学习
郝学胜-神的一滴11 分钟前
C++20模板元编程 02:吃透模板基础核心四大核心知识点
开发语言·数据结构·c++·程序人生·软件工程·visual studio
田径他爸来了13 分钟前
嵌入式学习第38天——裸机imx6ull(uart接口;配置波特率为115200,8位数据位,无校验,一位停止位)
嵌入式硬件·学习
淡海水17 分钟前
11-03-Unity-List-T-和Dictionary-TKey-TValue-的性能调优实战
算法·unity·c#·list·dictionary
qeen8719 分钟前
【Linux】操作系统之进程介绍(一)
linux·笔记·学习·进程
土司大王21 分钟前
LeetCode hot100——394.字符串解码:Java 双栈模拟
java·算法·leetcode