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

代码解析

相关推荐
轩情吖11 小时前
MySQL内置函数
android·数据库·c++·后端·mysql·开发·函数
金山几座11 小时前
C#学习记录-泛型
开发语言·学习·c#
AC__dream11 小时前
2024秋招-字节跳动-算法岗笔试
数据结构·算法
盐焗西兰花12 小时前
鸿蒙学习实战之路-Share Kit系列(13/17)-配置目标应用名单(企业应用)
学习·华为·harmonyos
一叶落43812 小时前
LeetCode 151. 反转字符串中的单词(C语言)【双指针 + 字符串处理】
c语言·数据结构·算法·leetcode
2601_9486061812 小时前
LaTeX学习笔记:开场白与索引
笔记·学习
wangjialelele12 小时前
详解Redis终端操作和Redis-plus-plus接口使用
linux·数据库·c++·redis·分布式·缓存·中间件
_olone12 小时前
牛客每日一题:刷题统计(Java)
java·算法·容斥原理·牛客
无敌憨憨大王12 小时前
DFS(深搜)
算法·深度优先·图论
junnhwan12 小时前
LeetCode Hot 100——栈
java·数据结构·算法·leetcode·hot 100