思考过程:
1.能不能递归求出所有的二叉搜索树呢?
2.相邻的答案之间有没有规律呢?
3.找不到规律,但找出了每一个答案下的所有结果
4.看题解,才明白。。

下次做DP题目也这么思考,先看递归否,再找怎么由之前的答案推出现在的答案来。

  • ans[n]为所求答案,也就是节点数为n时,有多少二叉搜索树。
  • f(i)是以i为根节点的二叉搜索树的个数,左子树有i-1个元素,右子树有n-i个元素。
  • 所以f(i)=ans[i-1]*ans[n-i],左子树有ans[i-1]个可能,所以要相乘。
class Solution {public int numTrees(int n) {int[] ans=new int[n+1];ans[0]=ans[1]=1;for(int i=2;i<=n;i++){for(int j=1;j<=i;j++){ans[i]+=ans[j-1]*ans[i-j];}}return ans[n];}
}

96.不同的二叉搜索树相关推荐

  1. LeetCode 96不同的二叉搜索树95不同的二叉搜索树Ⅱ

    微信搜一搜:bigsai 算法文章题解全部收录在github仓库bigsai-algorithm 关注回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode 92反转链表Ⅱ&93复 ...

  2. 《dp补卡——343. 整数拆分、96. 不同的二叉搜索树》

    343. 整数拆分 1.确定dp数组以及下标含义. dp[i]:分拆数字i,可以得到的最大的乘积 2.确定递推公式: dp[i]最大乘积出处:从1遍历j到i,j * dp[i-j] 与 j * (i- ...

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

    96. 不同的二叉搜索树 ------------------------------------------ 给定一个整数 n,求以 1 - n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 ...

  4. Leetcode 96. 不同的二叉搜索树

    Leetcode 96. 不同的二叉搜索树 1.问题分析 2.问题解决 3.总结 1.问题分析 题目链接:https://leetcode-cn.com/problems/unique-binary- ...

  5. Leetcode 96. 不同的二叉搜索树 解题思路及C++实现

    解题思路: 因为二叉搜索树的左右子树均为二叉搜索树.输入整数n,求其所有二叉搜索树的总数,就是求根节点分别为1,2, ..., n的二叉搜索树的总和. 假设 i 的二叉搜索树的总数为 f(i),当根节 ...

  6. 96. 不同的二叉搜索树

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

  7. LeetCode 96. 不同的二叉搜索树(DP)

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

  8. 【LeetCode笔记】96. 不同的二叉搜索树(Java、动态规划)

    文章目录 题目描述 代码 & 思路 精简版 2.0 题目描述 这道题其实不用构造数据结构 二叉搜索树:只要利用这个结构的性质即可,即:左右两子,左小右大 然后用动态规划来做,具体如何推导见思路 ...

  9. LeetCode 96. 不同的二叉搜索树(Unique Binary Search Trees )

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

最新文章

  1. Python:UTF-8编码转换成GBK编码
  2. 高版本glibc环境编译兼容低版本机器的.so文件
  3. PMcaff-产品 | 教你做好产品设计规范,提升工作效率
  4. JZOJ 5397. 【NOIP2017提高A组模拟10.6】Biology
  5. 菜鸟之路-浅谈设计模式之单例设计模式
  6. HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别
  7. 第三十三期:对于人工智能的恐惧及其5个解决方法
  8. m3u:直播流的html接近下载
  9. 58 SD配置-科目分配-定义科目代码
  10. 20.校准相机——介绍,使用已知点进行校正,直接线性校准均匀性第1部分,直接线性校准均匀性第2部分_1
  11. oracle手机怎么样,ORACLE环境存储哪家强?
  12. Understanding Bootstrap Of Oracle Database
  13. H.264视频压缩标准
  14. 三星4k3d电视测试软件,三大硬性指标 揭开伪4K电视真实面目
  15. spoonwep下载地址
  16. CSS3 制作 3D 水晶糖果按钮
  17. Java解决下载--文件名乱码
  18. H264视频压缩算法
  19. 如何配置Windows平台轻量级vscode c++开发环境
  20. 解决Spring Spring Data JPA 错误: Page 1 of 1 containing UNKNOWN instances

热门文章

  1. 使用Keras进行迁移学习
  2. C++添加程序到windows的启动项的代码
  3. 用python解析word文件(段落篇(paragraph) 表格篇(table) 样式篇(style))
  4. 团队-团队编程项目作业名称-模块开发过程
  5. 从find_vma和find_vma_prev看内核
  6. MySQL主从的一致性校验及修复
  7. Android.mk 用法介绍
  8. Visual Studio 6.0编译PWLib1.12总结
  9. 大华嵌入式硬盘录像机数据恢复工具
  10. 建堆 java_堆排序就这么简单