lintcode: Unique Binary Search Trees
来源:互联网 发布:欧美网络教育本科文凭 编辑:程序博客网 时间:2024/05/19 13:15
Given n, how many structurally unique BSTs (binary search trees) that store values 1...n?
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
Tags
class Solution {public: /** * @paramn n: An integer * @return: An integer */ int numTrees(int n) { // write your code here /* if (n==1 || n==0) return 1; static vector<int> dp(n+1); //因为loop从1到n, 所以设置 dp为 n+1 if (dp[n] != 0) return dp[n]; int retVal = 0; for (int i=1; i<=n; i++) { if (i==1 || i==n) retVal += numTrees(n-1); else retVal += (numTrees(i-1)*numTrees(n-i)); } dp[n] = retVal; return retVal; */ if (n == 1 || n == 0) return 1; vector<int> nums(n+1); nums[0] = 1; for (int i=1; i<=n; i++) { for (int j=1; j<=i; j++) { nums[i] += nums[j-1]*nums[i-j]; } } return nums[n]; }};
0 0
- lintcode: Unique Binary Search Trees
- Unique Binary Search Trees--lintcode
- lintcode:Unique Binary Search Trees II
- Unique Binary Search Trees II --lintcode
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- LeetCode OJ刷题历程——Contains Duplicate
- 1022. D进制的A+B (20)
- C++中四种类型转换方式
- [乙女向]兄弟战争闪亮蔚蓝+激情粉【PSP汉化版】日文版[带全开档+中文攻略]
- bzoj 1977: [BeiJing2010组队]次小生成树 Tree
- lintcode: Unique Binary Search Trees
- C++中的this指针
- 排序算法之希尔排序(Java)
- 递归---Flatten Binary Tree to Linked List
- MYBATIS+SPRING 配置
- 杭电5562
- 一道腾讯笔试题--Integer的比较
- String、StringBuffer和StringBuilder
- 设计模式2#多例