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

代码解析

相关推荐
hsjiasb12 小时前
FreeRTOS学习(三十七)——常见错误与工程规范
学习·学习笔记·freertos
夜不会漫长12 小时前
C++入门(1)
开发语言·c++·算法
小席是个热心肠13 小时前
Redis的自我学习
数据库·redis·学习
wen_zhufeng13 小时前
IndexTTS 2.5 技术报告
人工智能·算法·机器学习
zyf10441613 小时前
暑期实践日志 Day33:完成全部字幕添加,工作基本收尾
学习·计算机网络·剪辑·暑期实践·课题任务
大熊背14 小时前
树莓派相机自动白平衡详解(四)
算法·树莓派·白平衡·isppipeline
一米阳光866114 小时前
软考(中级)软件设计师核心笔记(9)算法——背包问题
笔记·算法·职场发展·软考·软件设计师·中级职称
晚风醉蝶14 小时前
1-11-奇偶排序-OddEvenSort
java·数据结构·算法
Chris _data14 小时前
WPF 上位机开发学习笔记 - 第四天
笔记·学习·wpf
旖旎夜光14 小时前
LeetCode 852:山脉数组的峰顶索引(二分查找) —— 题解
数据结构·c++·算法·leetcode·二分查找