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];
    }
}
相关推荐
程序员小崔日记5 分钟前
一道基础计算题卡在 40 分,求助判题规则问题
java·算法·竞赛
愣头不青8 分钟前
543.二叉树的直径
java·算法
此方ls10 分钟前
机器学习聚类算法二——DBSCAN(Density-Based Spatial Clustering of Applications with Noise)
算法·机器学习·聚类
add45a13 分钟前
C++中的原型模式
开发语言·c++·算法
2401_8442213215 分钟前
C++类型推导(auto/decltype)
开发语言·c++·算法
2201_7538777915 分钟前
高性能计算中的C++优化
开发语言·c++·算法
hans汉斯15 分钟前
基于区块链和语义增强的科研诚信智能管控平台
人工智能·算法·yolo·数据挖掘·区块链·汉斯出版社
2501_9454251516 分钟前
分布式系统容错设计
开发语言·c++·算法
冷小鱼17 分钟前
机器学习极简入门:从外卖预测到AI核心算法
人工智能·算法·机器学习
2401_8845632424 分钟前
C++代码重构实战
开发语言·c++·算法