码迷,mamicode.com
首页 > 其他好文 > 详细

Unique Binary Search Tree

时间:2015-02-05 21:46:35      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

这道题花了些时间,首先提交时runtim  error,然后发现时申请数组没有释放。

最后整理下题目的思路,这道题是动态规划,不过比较麻烦。想了好久才推出来,递推公式为  Cn = 2*Cn-1 + C0*Cn-2 + C1*Cn-3  ...... + Cn-2*C0。

得到递推公式代码就很快了,一遍过。

ps:申请动态数组   new int(5)是指申请int型空间,在将其赋值为5,new int[5]是申请5个int型空间。

 1 class Solution {
 2 public:
 3     int numTrees(int n) {
 4         if(n==0)
 5         return 0;
 6         int* array = new int[n];
 7         array[0] = 1;
 8         //array[1] = 2;
 9         //array[2] = 5;
10         for(int i=1;i<n;i++)
11             array[i] = 0;
12 
13         for(int i=1;i<n;i++)
14         {
15             array[i] += 2*array[i-1];
16             for(int j=0;j<i-1;j++)
17                 array[i] += array[j]*array[i-2-j];
18         }
19 
20         int val = array[n-1];
21         delete array;
22         return val;
23     }
24 };

 

Unique Binary Search Tree

标签:

原文地址:http://www.cnblogs.com/ZhangYushuang/p/4275992.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!