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

网站制作论文5000字购物网站 建站服务

网站制作论文5000字,购物网站 建站服务,男人与女人做视频网站,上海公司变更联贝财务优势文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 广度优先搜索 二【题目难度】 中等 三【题目编号】 662.二叉树最大宽度 四【题目描述】 给… 文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 广度优先搜索 二【题目难度】 中等 三【题目编号】 662.二叉树最大宽度 四【题目描述】 给你一棵二叉树的根节点 root 返回树的 最大宽度 。树的 最大宽度 是所有层中最大的 宽度 。每一层的 宽度 被定义为该层最左和最右的非空节点即两个端点之间的长度。将这个二叉树视作与满二叉树结构相同两端点间会出现一些延伸到这一层的 null 节点这些 null 节点也计入长度。题目数据保证答案将会在 32 位 带符号整数范围内。 五【题目示例】 示例 1 输入root [1,3,2,5,3,null,9]输出4解释最大宽度出现在树的第 3 层宽度为 4 (5,3,null,9) 。 示例 2 输入root [1,3,2,5,null,null,9,6,null,7]输出7解释最大宽度出现在树的第 4 层宽度为 7 (6,null,null,null,null,null,7) 。 示例 3 输入root [1,3,2,5]输出2解释最大宽度出现在树的第 2 层宽度为 2 (3,2) 。 六【题目提示】 树中节点的数目范围是 [1, 3000]100 Node.val 100 七【解题思路】 其实这道题就是二叉树的层序遍历的变种值得注意的是需要利用完全二叉树的性质 在完全二叉树中可以将其节点存储到数组中并且对于序号为i的节点节点编号从1开始其 左子节点的序号为i * 2右子节点的序号为i * 2 1 利用以上性质我们可以将每一层的二叉树的节点编号用编号值计算每一层的宽度当计算出每一层的宽度后就可以计算得到整个二叉树的最大宽度 具体细节请参考下面的代码 八【时间频度】 时间复杂度 O ( n ) O(n) O(n) n n n为传入的二叉树的节点个数空间复杂度 O ( n ) O(n) O(n) n n n为传入的二叉树的节点个数 九【代码实现】 Java语言版 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val val;* this.left left;* this.right right;* }* }*/class Solution {public int widthOfBinaryTree(TreeNode root) {// 最小宽度为1int res 1;// 初始化队列queue用于存储当前层节点ListPairTreeNode, Integer queue new ArrayListPairTreeNode, Integer();queue.add(new PairTreeNode, Integer(root, 1));// 使用广度优先遍历算法计算二叉树的最大高度while (!queue.isEmpty()) {// temp用于存储下一层节点ListPairTreeNode, Integer temp new ArrayListPairTreeNode, Integer();for (PairTreeNode, Integer pair : queue) {TreeNode node pair.getKey();int index pair.getValue();if (node.left ! null) {temp.add(new PairTreeNode, Integer(node.left, index * 2));}if (node.right ! null) {temp.add(new PairTreeNode, Integer(node.right, index * 2 1));}}// 计算二叉树的最大宽度res Math.max(res, queue.get(queue.size() - 1).getValue() - queue.get(0).getValue() 1);queue temp;}// 返回结果return res;} }Python语言版 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right rightclass Solution:def widthOfBinaryTree(self, root: Optional[TreeNode]) - int:# 最小宽度为1res 1# 初始化队列queue用于存储当前层节点queue [[root, 1]]# 使用广度优先遍历算法计算二叉树的最大高度while queue:# temp用于存储下一层节点temp []for node, index in queue:if node.left:temp.append([node.left, index * 2])if node.right:temp.append([node.right, index * 2 1])# 计算二叉树的最大宽度res max(res, queue[-1][1] - queue[0][1] 1)queue temp# 返回结果return resC语言版 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/// 节点最多3000个 #define MAX_NODE_SIZE 3000// 比较大小 #define MAX(a, b) ((a) (b) ? (a) : (b));// 利用完全二叉树的性质存储二叉树node保留了节点的左右子树的关系index记录节点在数组中的位置索引 typedef struct {struct TreeNode* node;unsigned long long index; } levelNode;int widthOfBinaryTree(struct TreeNode* root) {// 最小宽度为1unsigned long long res 1;// 初始化队列queue用于存储当前层节点temp用于存储下一层节点levelNode* queue (levelNode*)malloc(sizeof(levelNode) * MAX_NODE_SIZE);levelNode* temp (levelNode*)malloc(sizeof(levelNode) * MAX_NODE_SIZE);int queueSize 0;int tempSize 0;// 根节点入队列queue[queueSize].node root;queue[queueSize].index 1LL;// 使用广度优先遍历算法计算二叉树的最大宽度while (queueSize 0){// 将当前节点的所有下一层节点按照完全二叉树的索引值存储tempSize 0;for (int i 0; i queueSize; i){if (queue[i].node-left){temp[tempSize].node queue[i].node-left;temp[tempSize].index queue[i].index * 2;}if (queue[i].node-right){temp[tempSize].node queue[i].node-right;temp[tempSize].index queue[i].index * 2 1;} }// 计算二叉树的最大宽度res MAX(res, queue[queueSize - 1].index - queue[0].index 1);// 将存储当前层节点信息的队列重新赋值为存储好的下一层节点的信息队列queueSize tempSize;levelNode* change queue;queue temp;temp change;}// 返回结果return res; }十【提交结果】 Java语言版 Python语言版 C语言版
http://www.w-s-a.com/news/411147/

相关文章:

  • 怎么样百度搜到自己的网站加强社区网站建设
  • 建设网站所需技术wordpress延时加载js
  • 网站建设沈阳搜云seo
  • 怎么申请免费的网站空间微信公众平台注册收费吗
  • 东营网站搭建最基本的网站设计
  • 网站建设技术的发展最近的国际新闻大事
  • 德州有名的网站建设公司网站如何做引流
  • 建设一个收入支出持平的网站网络推广计划书格式
  • 什么是网站黑链全球新冠疫苗接种率
  • 网站开发 chrome gimp网站不备案做seo没用
  • 织梦校园招生网站源码沪佳哪个好
  • 建设企业网站可信度软件产品如何做网站推广
  • 网站建设企业号助手贵阳景观设计公司
  • 网站开发第三方建设银行个人网站显示不了
  • 无锡兼职做网站郑州网站建设搜索优化
  • iis禁止通过ip访问网站品牌策划案例ppt
  • 电子商务网站建设实习seo黑帽优化
  • 如何做好网站建设销售闸北集团网站建设
  • 重庆装饰公司北京官网seo推广
  • 深圳网站设计灵点网络品牌网站充值接口
  • 建设书局 网站国内国际时事图片
  • 成都 网站建设培训学校屏蔽wordpress自带编辑器
  • 公司网站制作工作室中天建设集团有限公司第五建设公司
  • 网站的网页设计毕业设计苏州宣传册设计广告公司
  • 商城网站优化方案注册公司制作网站
  • 政务服务网站建设整改报告wordpress的导航代码
  • 图片素材网站建设做教育网站用什么颜色
  • 快站淘客中转页wordpress商业插件
  • 可信网站网站认证免费软件下载网站免费软件下载网站
  • 小学生网站制作最新域名网站