【动态规划】96. 不同的二叉搜索树

96. 不同的二叉搜索树

解题思路

  • base case dp[0] = 1 一个空节点 也是一颗二叉树
  • 状态:dp[i] 对于每一个节点i 作为根节点 那么它的二叉搜索树的数量有多少
  • 外层循环:遍历所有的可能节点数目 内存循环遍历所有左右子树组合情况
java 复制代码
class Solution {
    public int numTrees(int n) {
        // base  case

        // dp[0] = 1  

        // 空节点 也是一颗二叉树


        int[] dp = new int[n + 1];

        dp[0] = 1;

        // 状态dp[i]  对于每一个节点i 作为根节点  那么它的二叉搜索树的数量有多少
        for(int i  = 1; i <= n; i++){
            for(int j = 1; j <= i; j++){
                // 左右子树 情况 相乘
                dp[i] += dp[i - j] * dp[j - 1];
            }
        }


        return dp[n];

    }
}
相关推荐
fengxin_rou5 分钟前
一文读懂 Redis 集群:从哈希槽到透明访问
java·数据库·redis·算法·spring·缓存
m0_635647487 分钟前
Qt开发与MySQL数据库教程(二)——MySQL常用命令以及示例
java·开发语言·数据库·mysql
DeepModel10 分钟前
【概率分布】t分布详解
算法·概率论
CoovallyAIHub13 分钟前
ICLR 2026 | 慕尼黑工大院士Navab团队联合MVTec提出FoundAD,用基础视觉编码器实现少样本异常检测
人工智能·算法·计算机视觉
仰泳的熊猫14 分钟前
题目2266:蓝桥杯2015年第六届真题-打印大X
数据结构·c++·算法·蓝桥杯
⑩-17 分钟前
@Vaild
java·javaee
Han.miracle21 分钟前
Spring Boot 后端分层开发实战:从 MVC 到三层架构详解
java
invicinble28 分钟前
it系统全链路思考
java
steel808828 分钟前
SSM与Springboot是什么关系? -----区别与联系
java·spring boot·后端
wefg129 分钟前
【算法】约数个数、约数和
算法