给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种?

示例:

输入: 3
输出: 5
解释:
给定 n = 3, 一共有 5 种不同结构的二叉搜索树:

1         3     3      2      1
    \       /     /      / \      \
     3     2     1      1   3      2
    /     /       \                 \
   2     1         2                 3

思路:dp[n]代表答案,则dp[n]=

左子树1节点,右子树n-1节点

左子树2节点,右子树n-2节点

................................

左子树n-1节点,右子树1节点

所有情况加起来。

public class Solution {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];}
}

官方有一个数学,太强了。

leetcode96. 不同的二叉搜索树 动归vs数学?相关推荐

  1. leetcode96. 不同的二叉搜索树

    一:题目 二:上码 class Solution {public:/**思路:1.分析题意二叉搜索树(左子树结点小于根节点 根节点小于右节点)n=1时有一种形态,n=0的话,空树也是一种形态当n=2的 ...

  2. leetcode96. 不同的二叉搜索树(动态规划)

    给定一个整数 n,求以 1 - n 为节点组成的二叉搜索树有多少种? 解题思路 *数组含义:dp[i] i个节点的不同组成结构 状态转移:任取节点为根节点,遍历左右子树可能出现的个数,dp[i]=dp ...

  3. Leetcode--96. 不同的二叉搜索树(java)

    给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1         3   ...

  4. LeetCode--96. 不同的二叉搜索树(动态规划)

    不同的二叉搜索树(动态规划) 1. 题目描述 2. 题目分析 3. C语言实现 4. Python实现 1. 题目描述 难度:中等 2. 题目分析 首先我们要知道二叉搜索树的特点: 左子树肯定小于其根 ...

  5. 不同的二叉搜索树—leetcode96

    给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1         3   ...

  6. 每天一道LeetCode-----实现二叉搜索树的迭代器

    Binary Search Tree Iterator 原题链接Binary Search Tree Iterator 实现一个二叉搜索树(BST)的迭代器 hasNext()函数返回是否还有下一个元 ...

  7. 真c++ 从二叉树到红黑树(3)之二叉搜索树BST

      此文章为从二叉树到红黑树系列文章的第三节,主要介绍介绍二叉搜索树BST,为AVL和RedBlack打下基础 文章目录 一.前面文章链接~(点击右边波浪线可以返回目录) 二.二叉搜索树BST的定义~ ...

  8. C++ 第八节数据结构 第七节 ——二叉搜索树 AVL树 红黑树(底层原理图+模拟实现)

    第一次,C++和数据结构联合推出,倾情献上呦~~ 给个关注吧 23333~~~~~~(现在每天系统就给我一个机器人的粉丝量了55555~~~~~) 本节内容,我们将着重来探讨 二叉树 中特殊的两种树- ...

  9. 【Java 数据结构】实现一个二叉搜索树

    目录 1.认识二叉搜索树 2.实现一个二叉搜索树 2.1 成员变量 2.2 insert 方法 2.3 search 方法 2.4 remove 方法(重点) 3.二叉搜索树总结 1.认识二叉搜索树 ...

最新文章

  1. Xshell+技巧+快捷键
  2. fio模拟mysql写入速度_IO压力测试工具 -- FIO 使用说明
  3. 计算机无法找到组件c0000135,电脑显示没有找到dwmapi.dll组件怎么办?计算机丢失dwmapi.dll的处理方法...
  4. Objective-C学习笔记(一)–类
  5. 智能手环功能模块设计_可能是目前最好用的智能手环,国产芯加持,颜值与实力并存...
  6. Abp vnext Web应用程序开发教程 6 —— 作者:领域层
  7. YGC 问题排查,又涨姿势了!
  8. css的id和class场景,CSS Id 和 Class选择器
  9. 一步一步优化Windows XP(转)
  10. android完全关闭应用程序,安卓手机后台程序不能彻底关闭?试试这个强制关闭的功能!...
  11. layui上传文件请求接口异常_解决layui table表单提示数据接口请求异常的问题
  12. QQ自由幻想刺客加点
  13. Hibernate tools的hbm2ddl和hbm2java
  14. 主板声卡坏了会不会有电流声_拯救无声电脑,还能升级音质,独立声卡音频转接头来解决...
  15. 安装R包报错 [tcl] grab failed: window not viewable.的解决方案
  16. 单线激光雷达原理深度解析
  17. 电影数据分析(大数据分享)
  18. python推荐_Python中一个简单的基于内容的推荐引擎
  19. 人工生命42(人工智能原创小说)
  20. .so文件导致的算法运行失败

热门文章

  1. 智能客户端ios_为什么现在的客户端开发越来越不吃香了
  2. 如何在CSDN博客中的所贴的代码进行【代码块】显示
  3. PJSIP学习笔记——从simple_pjsua.c示例程序了解PJSUA-LIB的基本使用流程
  4. arduinowifi.send怎么获取响应_ChatterBot代码解读-获取对话
  5. qr分解求线性方程组_梯度下降求解线性方程组算例设计
  6. python 当前时间减一个月_python排序了解一下
  7. 【Rational Rose使用笔记】用例图
  8. 【Python 标准库学习】系统相关的参数和函数库 — sys
  9. 【Python CheckiO 题解】Speech Module
  10. REVERSE-PRACTICE-JarvisOJ-1