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))
相关推荐
康谋自动驾驶30 分钟前
拆解3D Gaussian Splatting:原理框架、实战 demo 与自驾仿真落地探索!
算法·数学建模·3d·自动驾驶·汽车
violet-lz2 小时前
数据结构八大排序:希尔排序-原理解析+C语言实现+优化+面试题
数据结构·算法·排序算法
ezl1fe2 小时前
第一篇:把任意 HTTP API 一键变成 Agent 工具
人工智能·后端·算法
冯诺依曼的锦鲤2 小时前
算法练习:双指针专题
c++·算法
吃着火锅x唱着歌2 小时前
LeetCode 668.乘法表中第k小的数
算法·leetcode·职场和发展
前端小刘哥2 小时前
互联网直播点播平台EasyDSS流媒体技术如何赋能多媒体展厅智能化升级?
算法
Python算法实战2 小时前
平安大模型面试题:Self-Attention 原理与多头注意力设计
人工智能·算法·自然语言处理·大模型·面试题
Python算法实战3 小时前
腾讯送命题:手写多头注意力机制。。。
人工智能·算法·面试·大模型·强化学习
前端小刘哥3 小时前
现场直播的技术革新者:视频直播点播平台EasyDSS在现场直播场景中的技术应用
算法
violet-lz3 小时前
数据结构八大排序:堆排序-从二叉树到堆排序实现
数据结构·算法