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

代码解析

相关推荐
MicroTech20259 分钟前
自适生长的点云智能:MLGO微算法科技基于双阈值与DDM的仿生式配准算法
科技·算法
四谎真好看12 分钟前
JavaWeb学习笔记(Day10)
笔记·学习·学习笔记·javaweb
该学习了咕咕13 分钟前
单纯实验记录(寿命实验)
学习·学习方法·秀丽线虫·寿命实验
yunsr17 分钟前
python作业1
开发语言·python·算法
ooo-p19 分钟前
FPGA学习篇——Verilog学习之“有限状态机FSM”
学习·fpga开发
赤水无泪24 分钟前
04 C++语言---运算符和符号
开发语言·c++
A_nanda26 分钟前
vue快速学习框架
前端·javascript·vue.js·学习·c#
清铎26 分钟前
项目_华为杯’数模研赛复盘_第二问
深度学习·算法·机器学习
v_for_van31 分钟前
力扣刷题记录1(无算法背景,纯C语言)
算法·leetcode·职场和发展
WTCLLB31 分钟前
取消文件隐藏属性,找到winre.wim和boot.sdi
windows·学习