96. Unique Binary Search Trees 类别:动态规划 难度:medium
来源:互联网 发布:中央财经大学知乎 编辑:程序博客网 时间:2024/06/06 20:56
题目:
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[1...n][1...n]来记录结果,dp[m][n]表示将m到n组成二叉搜索树的形态个数,在m和n之间取k为根的话,则m到k-1组成左子树,而k+1到n组成右子树,于是可以写出转移方程dp[m][n] = dp[m][k - 1] * dp[k + 1][n]。
程序:
class Solution {public: int numTrees(int n) { vector<vector<int> > dp(n + 1,vector<int>(n + 1,1)); for(int i = 1;i <= n - 1;i++) { for(int j = 1;j + i <= n;j++) { dp[j][j + i] = 0; for(int k = j + 1;k <= j + i - 1;k++) dp[j][j + i] += dp[j][k - 1] * dp[k + 1][j + i]; dp[j][j + i] += (dp[j + 1][j + i] + dp[j][j + i - 1]); } } return dp[1][n]; }};
0 0
- 96. Unique Binary Search Trees 类别:动态规划 难度:medium
- 96. Unique Binary Search Trees 动态规划
- 63. Unique Paths II 类别:动态规划 难度:medium
- 62. Unique Paths 类别:动态规划 难度:medium
- Leetcode 96. Unique Binary Search Trees[medium]
- 96. Unique Binary Search Trees -Medium
- LeetCode 95. Unique Binary Search Trees II&96. Unique Binary Search Trees--动态规划,二叉树
- Unique Binary Search Trees [动态规划]
- leetcode-动态规划:Unique Binary Search Trees
- Unique Binary Search Trees (leetcode) 动态规划
- [Medium] Unique Binary Search Trees
- 96.leetcode Unique Binary Search Trees(meidum)[动态规划]
- [leetcode-动态规划]--96. Unique Binary Search Trees
- 动态规划中级教程 96. Unique Binary Search Trees
- 120. Triangle 类别:动态规划 难度:medium
- Leetcode 96. Unique Binary Search Trees (Medium) (cpp)
- LeetCode解题报告 96. Unique Binary Search Trees [medium]
- [Leetcode 96, Medium] Unique Binary Search Trees
- Hello world
- cocos2d+js入门学习(包括mac和windows环境配置)
- Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)
- HTML_16_jquery_动画,事件
- 计算机网络学习
- 96. Unique Binary Search Trees 类别:动态规划 难度:medium
- 怎样将Java文件生成可执行的jar文件(使用Eclipse工具)
- 支持wmv、mpg、mov、avi格式的网页视频播放代码
- LeetCode No.227 Basic Calculator II
- 不翻墙下载Android内核源码
- 简单实现ImageView的加边框颜色的方法
- 自治事务和变异表的行级触发器部分问题
- IP地址,子网掩码,默认网关,路由总结
- 微信JSSDK 突然出现invalid signature无效签名