Given n, how many structurally unique BST's (binary search trees) that store values 1...n?

For example,
Given n = 3, there are a total of 5 unique BST's.

   1         3     3      2      1
\ / / / \ \
3 2 1 1 3 2
/ / \ \
2 1 2 3

解题思路:

设有n个结点的二叉查找树有b[n]个,则设想对一个排好序的list,我们从第一个元素开始枚举根节点。对于每一个根节点,这棵二叉查找树的可能是b[left] * b[right], left < n, right < n。

故我们只需要取b[0] = 0, b[1] = 1, 然后迭代计算b[i]即可。

class Solution {
public:
int numTrees(int n) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
if(n == )
return ; int *num;
num = new int[n + ];
num[] = ;
num[] = ;
for(int i = ;i <= n;i++)
{
num[i] = ;
for(int j = ;j < i;j++)
num[i] += num[j] * num[i - - j];
} return num[n];
}
};

最新文章

  1. loadrunner关联取参--响应值unicode编码处理过
  2. Maven入门指南① :Maven 快速入门及简单使用
  3. netflix:Conductor微服务编排引擎
  4. Ninject.MVC 知识点记录
  5. linux下一个有意思的问题(文件名以短划线或空格开头)
  6. 判断Integer值相等最好不用==(未整理)
  7. 简单springMVC环境搭建
  8. ios6和ios7禁止屏幕旋转
  9. poj 3468 A Simple Problem with Integers (线段树 成段更新 加值 求和)
  10. heidsoft logo
  11. SQL SERVER 锁定的实例
  12. python 探索(四) Python CookBook 系统管理
  13. TestNg JAVA 自动化单元测试框架Demo
  14. app每个页面都有一个相同的浮层控件 实现思路
  15. VMware对虚拟机快照进行克隆
  16. C# 高级编程01----.Net基础介绍
  17. 1.在虚拟机中安装Linux中的CentOS7系统
  18. SQL server 2012 数据库日志缓存过大
  19. highChart 缺值-曲线断开问题
  20. go延时队列

热门文章

  1. UVA - 12589 Learning Vector(dp-01背包)
  2. TestNG安装及配置
  3. css实现圆角效果
  4. 正确的在循环list的时候删除list里面的元素
  5. Hihocoder 1329(splay)
  6. 如何高效读写百万级的Excel?
  7. TCP/IP协议1
  8. Linux下汇编语言学习笔记70 ---
  9. VNC Viewer 设置屏幕分辨率-解决屏幕分辨率问题
  10. kfk: async disk IO深度解析