【leetcode】unique-binary-search-trees
2014-08-24 10:24
351 查看
//2014年8月24日10:09:19 //2014年8月24日10:23:27 //公式,迭代,效率不高 //f(n) = 2f(n-1)+2f(1)f(n-2)+2f(2)f(n-3)+...+2f((n-1)/2-1)f((n-1)/2+1)+f((n-1)/2)f((n-1)/2) n为奇数 //f(n) = 2f(n-1)+2f(1)f(n-2)+2f(2)f(n-3)+...+2f(n/2)f(n/2) n为偶数 #include <iostream> using namespace std; class Solution { public: int numTrees(int n) { if(n==1 || n==2){ return n; } if(n == 0){ return 1; } int result = 0; if(n%2 == 1){ result += numTrees((n-1)/2)*numTrees((n-1)/2); for(int i=(n-1)/2+1 ; i<=n-2 ; i++){ result += 2*numTrees(i)*numTrees(n-1-i); } result += 2*numTrees(n-1); } else{ for(int i=n/2 ; i<=n-2 ; i++){ result += 2*numTrees(i)*numTrees(n-1-i); } result += 2*numTrees(n-1); } return result; } }; int main() { Solution A; cout << A.numTrees(3) << endl; return 0; }
相关文章推荐
- [Leetcode] Unique Binary Search Trees I,II
- Leetcode: Unique Binary Search Trees II
- leetcode[95] Unique Binary Search Trees II
- Leetcode 95. Unique Binary Search Trees II
- LeetCode第96题 Unique Binary Search Trees
- LeetCode 95:Unique Binary Search Trees II
- leetcode-java-95. Unique Binary Search Trees II
- [leetcode]Unique Binary Search Trees @ Python
- Leetcode_95 Unique Binary Search Trees II
- 【Leetcode】Unique Binary Search Trees
- [LeetCode]Unique Binary Search Trees II
- LeetCode 95. Unique Binary Search Trees
- [LeetCode]Unique Binary Search Trees
- [LeetCode] Unique Binary Search Trees II, Solution
- [LeetCode] Unique Binary Search Trees
- [Leetcode 75] 96 Unique Binary Search Trees
- leetcode95 Unique Binary Search Trees II
- LeetCode Unique Binary Search Trees II
- [LeetCode]Unique Binary Search Trees
- leetcode 刷题之路 49 Unique Binary Search Trees