Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594

[LeetCode]Unique Binary Search Trees-2014.01.12

Posted on 2014-01-12 01:16 Uriel 阅读(109) 评论(0)  编辑 收藏 引用 所属分类: LeetCode
求n个节点,节点编号为1~n的BST有多少种
水题吧算是,对于n个节点的BST,1~n都有可能是其树根,于是1~n轮流做根,假设此时树根为i,则以i为根的n个节点的BST数目为i-1个节点的BST数目乘以n-i个节点的BST数目

 1 class Solution {
 2 public:
 3     int dp[100010];
 4     int numTrees(int n) {
 5         dp[0] = dp[1] = 1;
 6         for(int i = 2; i <= n; ++i) {
 7             dp[i] = 0;
 8             for(int j = 1; j <= i; ++j) {
 9                 dp[i] += dp[j - 1] * dp[i - j];
10             }
11         }
12         return dp[n];
13     }
14 };

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理