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

温州哪里有做网站的公司4000-262-建造师在建项目查询网

温州哪里有做网站的公司4000-262-,建造师在建项目查询网,交换链接的其它叫法是,优化方案官网1 题目:不同的二叉搜索树 官方标定难度:中 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出&#xf…

1 题目:不同的二叉搜索树

官方标定难度:中

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

示例 1:

在这里插入图片描述

输入:n = 3
输出:5

示例 2:

输入:n = 1
输出:1

提示:

1 <= n <= 19

2 solution

根据根节点进行分类,n 个节点的二叉搜索树有 d p n dp_n dpn 个,则有

d p n = ∑ i = 0 n − 1 d p i ∗ d p n − i − 1 dp_n = \sum_{i = 0} ^ {n -1} dp_i * dp_{n- i - 1} dpn=i=0n1dpidpni1

所以直接递推即可

代码

class Solution {
public:
int numTrees(int n) {int dp[n + 1];dp[0] = dp[1] = 1;for(int i = 2; i <= n; i++){dp[i] = 0;for(int l = 0; l < i; l++){dp[i] += dp[l] * dp[i - l - 1];}}return dp[n];
}
};

结果

加粗样式

3 进阶

这其实就是卡特兰数,有更简单的地推公式。

d p n = d p n − 1 ⋅ 4 ∗ n − 2 i + 1 dp_n = dp_{n-1} \cdot \frac {4 * n - 2} {i + 1} dpn=dpn1i+14n2

代码

class Solution {/**  C(n) = c(2n, n) - c(2n, n-1) = n+2...2n / n!*  C(n) / C(n - 1) = (4n-2) / (n+1)*  C(1) = 1*/
public:int numTrees(int n) {int s = 1; //for (int i = 2; i <= n; i++) {s = 1ll * s * (4 * i - 2) / (i + 1);}return s;}
};

结果

在这里插入图片描述

http://www.dtcms.com/wzjs/809842.html

相关文章:

  • 188网站开发贵州 做企业网站的流程
  • 网站认证收费如何做融资网站
  • 长沙网站建设模板网站建设 中企高程
  • 网站建设 app广州做外贸网站建设
  • html网页设计环保网站行业电子商务网站建设
  • 网站建设2000元想在网上做设计接单有没有网站
  • 甘肃网站优化怎么进行seo
  • php网站开发门槛高吗图片库网站建设报价
  • 一起做网站下载数据包网站建设售后服务安全维护
  • 网站开发转软件开发帝国cms二手网站模板
  • 静态网站设计心得商丘至开网络科技有限公司
  • 模板网站怎么做才美观尚海整装
  • 上海网站建设公司选哪家好佛山网红公寓
  • wpf做网站做网站 图片格式
  • 网页设计接单网站深圳市城乡住房和建设局网站首页
  • 可以做h5网站动易后台 网站统计调查 报表类型怎样使用
  • 凡科网站怎么关闭建设中咸阳做网站的公司有哪些
  • 做网站怎么这么贵跨境电商综合服务平台有哪些
  • WordPress网站子目录访问wordpress文章进不去
  • 网站游戏网站开发设计菲律宾域名购买网
  • 深圳中高端网站建设怎么样男男床做视频网站在线
  • 网站屏蔽搜索引擎公司网站内容编辑
  • 做直播网站用什么系统科技公司网站设
  • 房地产微网站建设栏目设计html5手机网站开发实例
  • 木鱼网站建设手表价格网站
  • 网站首页制作模板怎么添加网站权重
  • 小说网站采集可以做嘛政务门户网站建设
  • 免费建网站 建站之星免费制作app的软件下载
  • 如何再网站上做免费广告为什么建网站
  • 长沙好的网站建设公司互动平台上市公司