leetcode_c++:树: Unique Binary Search Trees(096)
2016-08-23 18:20
513 查看
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
//求个数
dp[i]=dp[k]*dp[i-k+1] {0<=k<=i-1}
https://github.com/illuz/leetcode/tree/master/solutions/095.Unique_Binary_Search_Trees
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
//求个数
算法
o(n^2)dp[i]=dp[k]*dp[i-k+1] {0<=k<=i-1}
https://github.com/illuz/leetcode/tree/master/solutions/095.Unique_Binary_Search_Trees
class Solution { public: int numTrees(int n) { vector<int> dp(n+1); //n+1个元素,元素是0 dp[1]=dp[0]=1; for(int i=2;i<=n;i++) for(int k=0;k<i;k++) dp[i]+=dp[k]*dp[i-k-1]; return dp ; } };
相关文章推荐
- LeetCode 096 Unique Binary Search Trees
- [leetcode-96]Unique Binary Search Trees(c++)
- [C++]LeetCode: 53 Unique Binary Search Trees
- 【LeetCode-面试算法经典-Java实现】【096-Unique Binary Search Trees(唯一二叉搜索树)】
- LeetCode 096 Unique Binary Search Trees
- leetcode 96 c++. Unique Binary Search Trees
- Java for LeetCode 096 Unique Binary Search Trees
- leetcode_096 Unique Binary Search Trees
- 096 Unique Binary Search Trees [Leetcode]
- leetcode 096 Unique Binary Search Trees
- LeetCode096 Unique Binary Search Trees
- 【LeetCode-面试算法经典-Java实现】【096-Unique Binary Search Trees(唯一二叉搜索树)】
- [leetcode-95]Unique Binary Search Trees II(c++)
- leetcode 096 —— Unique Binary Search Trees
- [C++]LeetCode: 92 Unique Binary Search Trees II
- LeetCode: Unique Binary Search Trees II [096]
- LeetCode 96 — Unique Binary Search Trees(C++ Java Python)
- leetcode_c++:树:Unique Binary Search Trees II(095)
- 【LeetCode 96】Unique Binary Search Trees (C++)
- [LeetCode]题解(python):096-Unique Binary Search Trees