从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章主要为大家展示了“LeetCode如何解决不同的二叉搜索树问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“LeetCode如何解决不同的二叉搜索树问题”这篇文章吧。
创新互联公司专业为企业提供大安网站建设、大安做网站、大安网站设计、大安网站制作等企业网站建设、网页设计与制作、大安企业网站模板建站服务,10多年大安做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
给定一个整数 n
,求以 1 ... n
为节点组成的二叉搜索树有多少种?
示例:
输入: 3
输出: 5
解释:
给定 n = 3, 一共有 5 种不同结构的二叉搜索树:
1 3 3 2 1
\ / / / \ \
3 2 1 1 3 2
/ / \ \
2 1 2 3
标签:动态规划
假设n个节点存在二叉排序树的个数是G(n),令f(i)为以i为根的二叉搜索树的个数,则
当i为根节点时,其左子树节点个数为i-1个,右子树节点为n-i,则
综合两个公式可以得到卡特兰数[1]公式
class Solution { public int numTrees(int n) { int[] dp = new int[n+1]; dp[0] = 1; dp[1] = 1; for(int i = 2; i < n + 1; i++) for(int j = 1; j < i + 1; j++) dp[i] += dp[j-1] * dp[i-j]; return dp[n]; }}
以上是“LeetCode如何解决不同的二叉搜索树问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图