leetcode-96. 不同的二叉搜索树

题目描述

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。

示例 1:

复制代码
输入:n = 3
输出:5

示例 2:

复制代码
输入:n = 1
输出:1

思路 【参考: 代码随想录

动态规划,5个步骤

  1. dp数组含义: i个不同元素节点组成的二叉搜索树的个数为dp[i]

  2. 公式: dp[i] += dp[j-1]*dp[i-j]

  3. 初始化: dp[0] = 1

  4. 遍历顺序: 从前往后

  5. 打印数组: 暂无

python 复制代码
class Solution(object):
    def numTrees(self, n):
        """
        :type n: int
        :rtype: int
        """
        dp = [0]*(n+1)
        dp[0] = 1
        for i in range(1,n+1):
            for j in range(1,i+1):
                dp[i] += dp[j-1]*dp[i-j]
        return dp[-1]

if __name__ == '__main__':
    s = Solution()
    print(s.numTrees(3))
相关推荐
XY_墨莲伊34 分钟前
【实战项目】基于B/S结构Flask+Folium技术的出租车轨迹可视化分析系统(文末含完整源代码)
开发语言·后端·python·算法·机器学习·flask
小雅痞44 分钟前
[Java][Leetcode simple] 1. 两数之和
java·算法·leetcode
somi71 小时前
ARM-驱动-09-LCD FrameBuffer
arm开发·驱动开发·算法·自用
乐迪信息1 小时前
乐迪信息:智慧港口AI防爆摄像机实现船舶违规靠岸自动抓拍
大数据·人工智能·算法·安全·目标跟踪
winxp-pic1 小时前
图片校正软件 操作说明及算法介绍
算法
wayz111 小时前
Day 6 编程实战:决策树与过拟合分析
算法·决策树·机器学习
ฅ ฅBonnie1 小时前
vLLM 推理后端简介
人工智能·python·算法
贾斯汀玛尔斯1 小时前
每天学一个算法--堆排序(Heap Sort)
数据结构·算法
programhelp_1 小时前
ZipRecruiter CodeSignal OA 2026|最新真题分享 + 速通攻略
数据结构·经验分享·算法·面试
liuyao_xianhui1 小时前
map和set_C++
java·开发语言·数据结构·c++·算法·宽度优先