[Leetcode]@python 96. Unique Binary Search Trees
2016-02-26 19:06
771 查看
题目链接
https://leetcode.com/problems/unique-binary-search-trees/题目原文
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.
题目大意
求二叉树的棵数解题思路
使用动态规划:n=0时,为空树,那么dp[0]=1; n=1时,显然也是1,dp[1]=1;n=2时,dp[2]=2; 对于n>2时,dp=dp[0]dp[n-1]+dp[1]dp[n-2]+......+dp[n-1]*dp[0]
代码
class Solution(object): def numTrees(self, n): """ :type n: int :rtype: int """ dp = [1, 1, 2] if n <= 2: return dp else: dp += [0 for i in range(n - 2)] for i in range(3, n + 1): for j in range(1, i + 1): dp[i] += dp[j - 1] * dp[i - j] return dp
相关文章推荐
- Python2.7 urlparse学习
- python 二叉树
- python pip安装使用
- 怎么写python字符串截取
- python——strip,lstrip和rstrip
- Python学习笔记 - 9.元组(Tuple)
- python random模块
- Python作为移动客户端后台服务器
- mysql的python API
- Python中正则表达式的一些匹配规则
- 利用Python进行文章特征提取(一)
- python mysql
- Python语言特性
- python多线程编程以及join,setDaemon,线程锁的用法
- 廖雪峰python教程
- python终极解决UnicodeEncodeError
- Python学习笔记 - 8.字典(Dict)
- Python学习笔记 - 7.列表(List)
- Python PEP8代码风格
- Python学习笔记 - 6.文件