Leetcode Unique Binary Search Trees
2015-09-01 23:26
477 查看
Leetcode Unique Binary Search Trees 代码,本代码使用down-up方法,并打印了相关信息,使用c++,如下:
#include <iostream> #include <vector> using namespace std; class Solution { public: int numTrees(int n) { //recode the right most path height with i vector<int> right(n + 1); for (int i = 0; i <= n; i ++) { right[i] = 0; } vector<int> re(n + 1); re[1] = 1; right[0] = 1; for (int i = 2; i <= n; i ++) { cout<<"begin:"<<endl; //variable "pre" recode the right[i - 1] for calculate right[i] int pre = right[0]; for (int j = 1; j < i; j ++) { re[i] = re[i] + right[j] * j; int temp = pre; for (int k = j; k < i; k ++) { temp += right[k]; } pre = right[j]; right[j] = temp; cout<<"right height :"<<j<<" value "<<right[j]<<endl; } right[0] = re[i - 1]; cout<<"right height :"<<0<<" value "<<right[0]<<endl; re[i] = re[i] + re[i - 1] * 2; cout<<"result "<<i<<": "<<re[i]<<endl; cout<<"end:"<<endl; } return re ; } }; int main() { Solution a = Solution(); int b = a.numTrees(5); cout<<"result: "<<b<<endl; }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C++联合体转换成C#结构的实现方法
- C#实现的算24点游戏算法实例分析
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析