首页 > 其他 > 详细

Unique Binary Search Tree

时间:2015-02-05 21:44:17      阅读:278      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!