【LeetCode】Unique Binary Search Trees
来源:互联网 发布:c语言速成手册 编辑:程序博客网 时间:2024/06/16 19:54
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.
1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 3
题解:
最优子结构:
当0个结点时,输出0
当1个结点时,输出1
当N个结点时,总个数为将根结点选为[1,N]的结点时子树之和,记为a[N]
对于任意被选为根结点的j,其左子树解空间为[1,j-1),子树个数为a[j-1],右子树为[j+1,N],子树个数为a[N-j]
总的解个数为a[j-1]*a[N-j],N从1循环至待求的值
public class Solution{public static int numTrees(int n){if (n == 0)return 0;int[] a = new int[n + 1];a[0] = 1;a[1] = 1;for (int i = 1; i <= n; i++) {int temp = 0;for (int j = 1; j <= i; j++)temp += a[j - 1] * a[i - j];a[i] = temp;}return a[n];}}
注意用temp保留计算结果,在第i个值计算完成后再进行a[i]的更新
0 0
- LeetCode: Unique Binary Search Trees
- LeetCode : Unique Binary Search Trees
- [Leetcode] Unique Binary Search Trees
- [LeetCode]Unique Binary Search Trees
- LeetCode Unique Binary Search Trees
- Leetcode: Unique Binary Search Trees
- LeetCode-Unique Binary Search Trees
- [leetcode] Unique Binary Search Trees
- LeetCode - Unique Binary Search Trees
- [LeetCode] Unique Binary Search Trees
- 【Leetcode】Unique Binary Search Trees
- Leetcode: Unique Binary Search Trees
- 【LeetCode】Unique Binary Search Trees
- Leetcode Unique Binary Search Trees
- Leetcode: Unique Binary Search Trees
- [LeetCode] Unique Binary Search Trees
- Leetcode: Unique Binary Search Trees
- LeetCode | Unique Binary Search Trees
- An Introduction to Bioinformatics Algorithms - II - page79 -114
- 黑马程序员——反射
- LeetCode | Single Number II
- c++ 获取随机数
- Android学习社区
- 【LeetCode】Unique Binary Search Trees
- poj 1606 Jugs(广搜BFS+路径输出)
- win7 64bits 设置ODBC遇到的一些问题 “未发现数据源…” “驱动程序和应用程序之间体系结构不匹配……”
- js的Prototype属性 解释及常用方法
- sqlalchemy整理(一)
- Eclipse快捷键
- XAMPP虚拟主机配置,多域名绑定.
- 【Linux学习】Linux文件系统6—文件目录权限设置
- 总结html中的一些标签的区别,希望有不全的大家指出