96. Unique Binary Search Trees

来源:互联网 发布:mysql 重启服务 编辑:程序博客网 时间:2024/06/14 05:41

递推关系,用DP求解。
例如dp[3]=dp[0]*dp[2]+dp[1]*dp[1]+dp[2]*dp[0]

class Solution {public:    int numTrees(int n) {        vector<int> dp(1000,0);        dp[0]=1;        for(int num=1;num<=n;num++)        {            //dp[num]            for(int i=0;i<=(num-1)/2;i++)                dp[num]+=dp[i]*dp[num-1-i]*2;            if(num%2==1)                dp[num]=dp[num]-pow(dp[(num-1)/2],2);        }        return dp[n];    }};
0 0
原创粉丝点击