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];
    }
}
相关推荐
三块可乐两块冰3 分钟前
机器学习笔记一
笔记·算法·机器学习
凤年徐7 分钟前
优选算法——滑动窗口2
数据结构·c++·算法
安之若素.re8 分钟前
827. 最大人工岛
算法·深度优先
吴佳浩9 分钟前
大模型垂直领域微调系列(二):ms-swift 框架全景
算法
DeepModel16 分钟前
【概率分布】泊松分布的原理、推导与实战应用
python·算法·概率论
ambition2024218 分钟前
蓝桥杯“水质检测“问题:0-1 BFS算法的完整解析
c语言·数据结构·c++·算法·蓝桥杯·宽度优先
皙然20 分钟前
深入解析 Java 中的 final 关键字
java·开发语言·算法
xsyaaaan24 分钟前
leetcode-hot100-矩阵:73矩阵置零-54螺旋矩阵-48旋转图像-240搜索二维矩阵
leetcode·矩阵
式51626 分钟前
CUDA编程学习(四)内存拷贝
学习·算法
Barkamin29 分钟前
直接插入排序的简单实现
java·算法·排序算法