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 分钟前
C++ 继承机制完全解析:从基础原理到菱形继承问题
java·开发语言·数据结构·c++·vscode·后端·算法
superior tigre7 分钟前
45 跳跃游戏2
算法·leetcode·游戏
不知名的忻18 分钟前
并查集(QuickUnion)
java·数据结构·算法·并查集
leo__52021 分钟前
基于时延的麦克风声源定位 - C实现
c语言·开发语言·算法
攻防_SRC22 分钟前
面向分组密码差分故障分析的属性推导与验证平台
人工智能·算法·机器学习
likerhood26 分钟前
Java实现选择题选项乱序算法
java·开发语言·算法
小鱼~~33 分钟前
最小二乘&均方误差MSE&平均绝对误差MAE
python·算法·机器学习
田梓燊1 小时前
力扣:138.随机链表的复制
算法·leetcode·链表
笨蛋不要掉眼泪1 小时前
面试篇-java基础上
java·后端·面试·职场和发展
不忘不弃1 小时前
皇后摆放问题优化求解法
算法