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];
    }
}
相关推荐
BingLin-Liu5 分钟前
蓝桥杯备考:递归初阶
职场和发展·蓝桥杯
IT猿手13 分钟前
2025高维多目标优化:基于导航变量的多目标粒子群优化算法(NMOPSO)的无人机三维路径规划,MATLAB代码
开发语言·人工智能·算法·机器学习·matlab·无人机·cocos2d
阿乾之铭28 分钟前
动态规划算法
算法·动态规划
菠菠萝宝30 分钟前
【代码随想录】第九章-动态规划(上)
算法·动态规划·01背包·完全背包·多重背包·上楼梯
DTDanteDong31 分钟前
从头再来!社招找工作——算法题复习九:动态规划
算法·动态规划
Coco_926436 分钟前
Hot100 动态规划
算法·动态规划
卑微的小鬼44 分钟前
golang的var ,make ,new, := 的区别
算法
01_1 小时前
力扣hot100 ——和为k的子数组 前后缀和(积)各种情况总结
数据结构·算法·leetcode·前后缀和(积)计算
一只码代码的章鱼2 小时前
数据结构与算法-搜索-双向搜索 和 A*算法(字串变换,八数码,第k短路)
算法
咚咚轩2 小时前
算法1-2 排序(快排)
算法