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];
    }
}
相关推荐
dragoooon345 分钟前
[hot100 NO.31~36]
数据结构·算法·排序算法
白兰地空瓶5 分钟前
JavaScript 列表转树(List to Tree)详解:前端面试中如何从递归 O(n²) 优化到一次遍历 O(n)
javascript·算法·面试
艾醒7 分钟前
大模型原理剖析——从技术特性、底层架构到落地逻辑的全维度解析
算法
Liangwei Lin19 分钟前
洛谷 B3637 最长上升子序列
算法
珂朵莉MM35 分钟前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第一赛季优化题--无人机配送
人工智能·算法·无人机
无敌最俊朗@36 分钟前
STL-适配器(面试复习4)
java·面试·职场和发展
xiaoxue..1 小时前
列表转树结构:从扁平列表到层级森林
前端·javascript·算法·面试
代码游侠1 小时前
复习——线程(pthread)
linux·运维·开发语言·网络·学习·算法
papaofdoudou1 小时前
基于QEMU 模拟intel-iommu的sva/svm demo环境搭建和验证
算法·机器学习·支持向量机
再__努力1点1 小时前
【78】HOG+SVM行人检测实践指南:从算法原理到python实现
开发语言·人工智能·python·算法·机器学习·支持向量机·计算机视觉