Leetcode 96. 不同的二叉搜索树

java 复制代码
class Solution {
    //根为i的二叉搜索树的数量=左子树二叉搜索树的数量乘以右子树二叉搜索树的数量
    //dp[i]表示i个节点时二叉搜索树的数量
    public int numTrees(int n) {
        int[] dp = new int[n + 1];
        dp[0] = 1;
        dp[1] = 1;
        for(int i = 2; i <= n; i++){
            for(int j = 1; j <= i; j++){
                dp[i] += dp[j - 1] * dp[i - j];
            }
        }
        return dp[n];
    }
}
相关推荐
我星期八休息14 小时前
MySQL数据可视化实战指南
数据库·人工智能·mysql·算法·信息可视化
程序员-King.14 小时前
day144—递归—平衡二叉树(LeetCode-110)
算法·leetcode·二叉树·递归
老鼠只爱大米14 小时前
LeetCode经典算法面试题 #739:每日温度(单调栈、动态规划等多种实现方案详解)
算法·leetcode·面试·动态规划·单调栈·每日温度
老鼠只爱大米14 小时前
LeetCode经典算法面试题 #394:字符串解码(递归、双栈、迭代构建等五种实现方案详解)
算法·leetcode·面试·递归··字符串解码
独自破碎E14 小时前
【回溯+剪枝】字符串的排列
算法·机器学习·剪枝
Smart-佀14 小时前
FPGA入门:CAN总线原理与Verilog代码详解
单片机·嵌入式硬件·物联网·算法·fpga开发
漫随流水15 小时前
leetcode算法(513.找树左下角的值)
数据结构·算法·leetcode·二叉树
翔云12345615 小时前
2025年度总结
程序人生·职场和发展
tod11316 小时前
从零手写一个面试级 C++ vector:内存模型、拷贝语义与扩容策略全解析
c++·面试·职场和发展·stl·vector
囊中之锥.16 小时前
机器学习算法详解:DBSCAN 聚类原理、实现流程与优缺点分析
算法·机器学习·聚类