当前位置: 首页 > news >正文

东莞集团网站建设宿迁做网站需要多少钱

东莞集团网站建设,宿迁做网站需要多少钱,wordpress布局插件,网站系统jsp模板题目 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入:n 1 输出&#xf…

题目 

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。

示例 1:

输入:n = 3
输出:5

示例 2:

输入:n = 1
输出:1

提示:

  • 1 <= n <= 19

代码 

定义dp[i]为由i个节点组成的二叉排序树有dp[i]种。

我们可以从节点数i为2开始遍历,每次遍历分别用j表示根节点左子树有j个节点,那对应右子树就有i-j-1个节点,那么左右子树分别能够组成的二叉排序树就是dp[j]和dp[i-j-1]种 ,j的取值范围是从0到i-1。题目要求的就是dp[j]*dp[i-j-1]。

这里当左右子树有为空的时候,我们应该把他当成1,不然dp[j]*dp[i-j-1]就是0了,但这种情况也是合理的,因此处理一下得到:dp[i]+=max(1,dp[j])*max(1,dp[i-j-1])。

class Solution:def numTrees(self, n: int) -> int:dp = [0 for _ in range(n+1)]dp[1]=1for i in range(2,n+1):for j in range(i):dp[i]+=max(1,dp[j])*max(1,dp[i-j-1])return dp[n]
http://www.yayakq.cn/news/924751/

相关文章:

  • 中国建设银行东营分行网站扁平化网站布局
  • 建设中标查询网站网站开发 开题报告
  • 漳州 外贸网站建设 SEO网站制作.
  • 怎么做网站规划书百度app安装
  • wordpress 移动建站动画设计专业好的学校
  • 湖南网站设计亮点中山网站建设seo优化营销制作设计
  • 网站服务器租用价格留言板网页设计代码
  • 中学生网站作品江阴网站建设培训
  • 网站存在的问题及改进措施东莞市建设企业网站服务机构
  • 网站建设公司 南京专业网站开发培训
  • 中山做网站的公司网站开发模块查相似
  • 自己做网站需要填税表吗微信api文档
  • 无锡网站建设wuxi8878app软件开发课程
  • 太原市建设厅官方网站建公司网站的详细步骤
  • 定制网站开发公司生物医药帮别人备案网站吗
  • 毕业网站建设pptps线下培训班一般学费多少
  • 怎么做网站后期推广网络营销服务公司有哪些
  • 无锡网站建设系统个人作品主页wordpress
  • 做网站怎样办营业执照中华网军事网
  • 做h5页面的网站有哪些一元注册公司流程
  • 聊城做网站推广费用中山网站软件
  • 内蒙古建设厅网站删除友情链接代码wordpress
  • 怎么样做一家卖东西的网站how to use wordpress
  • 东莞企业网站建设哪家好长沙网站制作教程
  • 个人网站排行海东企业网站建设
  • 网站架构图一般包括什么公司邮箱在哪里登录
  • 网站空间被挂马电商小程序需要什么资质
  • 网站开发一般用什么语言商城类网站建设报价
  • 教育培训类网站建设模板创做网站
  • 网站原型图展示在哪里制作网页