【unique-binary-search-trees】

来源:互联网 发布:历史虚无主义表现知乎 编辑:程序博客网 时间:2024/06/01 10:13

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



题意:统计1到n能构成二叉搜索树的个数

思路:

动态规划

以i为跟几点的数,左子树由[0, i-1]构成,其右子树由[i+1, n]构成

class Solution{public:int numTrees(int n){if (n<0){return -1;}vector<int> dp(n+1, 0);dp[0] = 1;dp[1] = 1;for (int i=2; i<=n; i++){for (int j=0; j<i; j++){dp[i] += dp[j] * dp[i - j - 1];}}return dp[n];}};


原创粉丝点击