研究生开学以来一直在看书看文献,很少有机会去写代码。为了不让以后校招时被虐的太惨,准备每天看一道LeetCode上的题,练练手。 因此准备开一个新的专题,记录下LeetCode上的一些有意思的小的算法题。 不要问我什么是LeetCode,自行google噢。题目传送门在此


题目

Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example, Given n = 3, there are a total of 5 unique BST's.


分析

又是一道关于BSTree的题目,不过没有涉及到其他高深的特性。我们只需要了解什么是BST就行。 BST中文名是二叉搜索树,节点左子树的值都要小,右子树的值都要大。觉得我说的比较绕口,移步至BST Wiki 对于这道题,我们可以用递归,或者说成动态规划,的思路去解决。 譬如说对于参数值n,我们可以考虑左边1个节点,右边n-2个节点;左边2个节点,右边n-3个节点等等。对于每个子树,在进行这样的划分,这样就能看到动态规划的影子了。 我们需要一个List来保存结果,下标是其总节点数,数值是其组成BST的个数。show 代码就好理解了。

def numTrees(n):
results = [1, 1] + [0 for i in range(n)]  #0和1 都只有一种情况
for i in range(2, n+1):for j in range(i):results[i] += results[j] * results[i-j-1]
return results[n]# test
if __name__ == "__main__":print numTrees(4)

--EOF--

转载于:https://www.cnblogs.com/No-body/p/4207217.html

LeetCode-Unique Binary Search Trees相关推荐

  1. LeetCode: Unique Binary Search Trees [095]

    [题目] Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For ...

  2. LeetCode:Unique Binary Search Trees

    问题描写叙述: Given n, how many structurally unique BST's (binary search trees) that store values 1...n? F ...

  3. LeetCode Unique Binary Search Trees(dp)

    问题:给出一个正整数n,求由1到n所组成的二叉搜索树的个数 思路: 动态规划法.用f(i)表示由1到i所组成的二叉搜索树的个数.状态转移方程为 初始状态为 具体代码参考: https://github ...

  4. LeetCode Unique Binary Search Trees II(递归或者dp)

    问题:给出一个正整数,要求构造由1到n组成的所有的二叉搜索树 思路: 1.递归法 在求从1到n的二叉搜索树时,枚举中间值i(1到n),求[1,i-1]和[i+1,n]分别构成的二叉搜索树,然后根据左右 ...

  5. leetcode 95. Unique Binary Search Trees II | 96. Unique Binary Search Trees

    95. Unique Binary Search Trees II https://leetcode.com/problems/unique-binary-search-trees-ii/ 题解 题是 ...

  6. 【重点 递归构造二叉树】LeetCode 95. Unique Binary Search Trees II

    LeetCode 95. Unique Binary Search Trees II 本博客转载自:[1]https://segmentfault.com/a/1190000007443961 [2] ...

  7. 【卡塔兰数】LeetCode 96. Unique Binary Search Trees

    LeetCode 96. Unique Binary Search Trees 本博客转载自:http://www.cnblogs.com/grandyang/p/4299608.html Solut ...

  8. Unique Binary Search Trees II -- LeetCode

    原题链接:  http://oj.leetcode.com/problems/unique-binary-search-trees-ii/   这道题是求解所有可行的二叉查找树,从 Unique Bi ...

  9. LeetCode 96. Unique Binary Search Trees

    96. Unique Binary Search Trees Given n, how many structurally unique BST's (binary search trees) tha ...

  10. 96. Unique Binary Search Trees(I 和 II)

    Given n, how many structurally unique BST's (binary search trees) that store values 1-n? For example ...

最新文章

  1. Mysql 於lampp xampp LinuxUbuntu下的配置
  2. 交换机、集线器、路由器
  3. VTK:直线网格之RectilinearGrid
  4. 文献记录(part22)--Learning local metrics from pairwise similarity data
  5. 桔子浏览器电脑版看不了视频怎么办 视频无法播放怎么解决
  6. Animator Controller 继承关系
  7. pdf批量添加图章_1分钟学会制作电子公章,三步搞定,轻松在PDF文件中添加公章图片...
  8. 动手动脑(Java)
  9. Unity使用Newtonsoft报错的解决方案
  10. 省市区三级数据-MySQL
  11. 千月影视全新改版影视app系统-支持投屏-二开美化版
  12. matlab用DFT分析三频频谱,设计一DFT在信号频谱分析中的应用
  13. Something about ...
  14. wordpress网站单页模板主题开发制作
  15. Unity3d任务模型自动寻路(人员疏散)
  16. 武汉大学计算机电气,武汉大学电气与自动化学院
  17. 3dmax 计算机中丢失,3ds Max文件损坏或丢失怎么办?
  18. 最炫丽的网页平面UI课程就在广州传智播客
  19. 蓝桥杯 ADV-201 我们的征途是星辰大海 java
  20. tensorflow 冻结梯度

热门文章

  1. Pictures for active reading.Unit 1 Food and health.
  2. python爬虫---从零开始(一)初识爬虫
  3. @EnableScheduling和@Scheduled的使用(初级)
  4. JavaScript对象的创建
  5. Scala中没有break和continue, 如何退出循环
  6. hdu 4622 Reincarnation SAM模板题
  7. [安卓] 12、开源一个基于SurfaceView的飞行射击类小游戏
  8. 算法-----------猜数字大小
  9. 解决编译失败 Attribute meta-data#android.support.VERSION@value value=(26.0
  10. Android-Binder进程间通讯机制-多图详解