LeetCode OJ:Unique Binary Search Trees(唯一二叉搜索树)
2024-08-29 02:57:41
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
一开始是想用递归解决,但看了标签是dp问题,就想了一下, 数目为k的bst,其每个 0 ~ k - 1都可以分成两个区间, 然后又可以生成bst, 所以k的bst种类数等于取k左侧与右侧可划分成bst的乘机的总和,额,有点绕口额,代码清晰一点, 看代码:
class Solution {
public:
int numTrees(int n) {
vector<int> ret;
if(n == ) return ;
ret.reserve(n + );
ret[] = ;
for(int i = ; i <= n; ++i){
if(i < ){
ret[i] = i;
continue;
}
for(int j = ; j < i; ++j){
ret[i] += ret[j] * ret[i - j - ];
}
}
return ret[n];
}
};
最新文章
- 结合实例详细介绍encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent()使用方法
- JS中匿名函数$(function(){ })和(function(){})()的区别
- 关于Kendo UI的使用心得
- 操作SSIS之前的准备工作
- Hibernate-缓存
- How to Tune Java Garbage Collection--reference
- [二]SpringMvc实践-注解
- 【IPC进程间通信之四】数据复制消息WM_COPYDATA
- Java IO面试
- underscore.js 源码阅读 一 整体结构
- java编程小记
- silverlight属性改变事件通知
- mybatis 插入一条记录 参数为map的写法
- BZOJ3561 DZY Loves Math VI 数论 快速幂 莫比乌斯反演
- SparseArray类
- 通过本地Git部署网站到WebSite
- JQuery选择器和DOM的操作-入门学习
- php do while循环实例
- 如何使用 Visual C# 2005 或 Visual C# .NET 向 Excel 工作簿传输数据
- 曲演杂坛--重建索引后,还使用混合分区么?(Are mixed pages removed by an index rebuild?)