求从1到n构成的BST的个数
题目
LeetCode 96. Unique Binary Search Trees
求从
1
到
题解
考虑对于以数
令
F(n)
为从
1
到
F(n)=∑k=0n[F(k)∗F(n−k)]
代码
class Solution {
public:
int numTrees(int n) {
vector<int> DP(n+1, 1);
for (int i = 2; i <= n; ++i) {
DP[i] = 0;
for (int j = 1; j <= i; ++j) {
DP[i] += DP[j-1]*DP[i-j];
}
}
return DP[n];
}
};