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];
    }
}
相关推荐
mmz120713 小时前
广搜题目练习(c++)
c++·算法
YuanDaima204813 小时前
贪心算法基础原理与题目说明
数据结构·人工智能·python·算法·贪心算法·手撕代码
NashSKY13 小时前
波束成形MVDR (最小方差无失真响应) 算法数学原理解析
算法·矩阵
人道领域13 小时前
【LeetCode刷题日记】513.二叉树左下角值的三种解法:从常规BFS到DFS的优雅之旅
数据结构·算法·leetcode·深度优先·广度优先
小哈蒙德13 小时前
基于deepSeekV4Pro(thinking)研究pointPillar的历程
python·算法
兰令水13 小时前
topcode【随机算法题】【2026.5.16打卡-java版本】
java·数据结构·算法
Shan120513 小时前
广度优先搜索之层序遍历
数据结构·算法·宽度优先
huaiixinsi13 小时前
Java 后端面试高频题整理(02)
java·开发语言·spring·面试·职场和发展·架构·maven
SilentSamsara13 小时前
自定义上下文管理器实战:数据库连接池、文件锁与超时控制
开发语言·python·算法·青少年编程
吃着火锅x唱着歌14 小时前
LeetCode 503.下一个更大元素II
算法·leetcode·职场和发展