96. Unique Binary Search Trees

class Solution {  
public:  
    int numTrees(int n) {  
        vector<int> v(n+1,0); 
        v[0] = 1;  
        v[1] = 1;  
        for (int i = 2; i <= n; ++i){  
            for (int k = 1; k <= i; ++k)  
                v[i] = v[i] + v[k - 1] * v[i - k];  
        }  
        return v[n];  
    }  
};
  1. f(i)=f(0)*f(i-1)+...+f(k-1)*f(i-k)+...+f(i-1)*f(0)  
  2. 动态规划

猜你喜欢

转载自blog.csdn.net/qq_41098649/article/details/80494782