[leetcode]Unique Binary Search Trees
来源:互联网 发布:淘宝卖家说给补偿5元 编辑:程序博客网 时间:2024/06/06 11:37
问题描述:
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的单独处理)。可以递归求子树的个数,也可以用数组记录已知n个节点的子树的方法数。
代码:
int numTrees(int n) { //C++ if(n == 1) return 1; if(n == 2) return 2; vector<int> record(n+1,0); record[0] = 0; record[1] = 1; record[2] = 2; for(int i = 3; i <= n; i++) { int sum = 0; int k; //left nodes for(k = 0; k < i; k++) { int temp; if(k == 0 ) temp = record[i-k-1]; else if(i-k-1 == 0) temp = record[k]; else temp = record[k]*record[i-k-1]; sum += temp; } record[i] = sum; } return record[n]; }
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
- 编译原理结构框架6语法制导翻译与属性文法
- 【C语言疯狂讲义】(十六)C语言简易通讯录(未优化版)
- action,,,submit控制表单
- HDU 1297 Children’s Queue
- 【DP】HDU-1502 Regular Words
- [leetcode]Unique Binary Search Trees
- TI omap 3715 CONTROL.CONTROL_PBIAS_LITE 寄存器的配置
- linux 查看cpu位数 内核等参数命令
- Tomcat结合log4j定期清除日志
- 静态存储和堆栈动态存储
- c++静态对象
- linux连接工具
- 变量的定义与声明
- log4j的使用与java中properties配置文件加载