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

想自己做一个网站应该怎么弄婚纱摄影网站的设计与实现

想自己做一个网站应该怎么弄,婚纱摄影网站的设计与实现,北京产品网站设计哪家专业,一个备案号可以绑定几个网站题目 给你一个二叉树的根节点 root。设根节点位于二叉树的第 1 层,而根节点的子节点位于第 2 层,依此类推。 请返回层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那个。 一、代码实现 import &…

题目

给你一个二叉树的根节点 root。设根节点位于二叉树的第 1 层,而根节点的子节点位于第 2 层,依此类推。
请返回层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那个。

一、代码实现

import "math"func maxLevelSum(root *TreeNode) int {if root == nil {return 0}queue := []*TreeNode{root}maxSum := math.MinInt64result := 0level := 1for len(queue) > 0 {size := len(queue)sum := 0for i := 0; i < size; i++ {node := queue[0]queue = queue[1:]sum += node.Valif node.Left != nil {queue = append(queue, node.Left)}if node.Right != nil {queue = append(queue, node.Right)}}if sum > maxSum {maxSum = sumresult = level}level++}return result
}

二、算法分析

1. 核心思路
  • 层次遍历(BFS):利用队列实现广度优先搜索,逐层计算节点值之和
  • 动态极值追踪:实时比较并更新最大层和及其对应最小层号
2. 关键步骤
  1. 队列初始化:根节点入队
  2. 层级统计:记录当前层节点数,遍历时累加节点值
  3. 极值更新:比较当前层和与历史最大值,更新最大值及对应层号
  4. 层级递进:处理完每层后递增层号计数器
3. 复杂度
指标说明
时间复杂度O(n)每个节点遍历一次
空间复杂度O(n)队列最大存储空间为最宽层节点数

三、图解示例

在这里插入图片描述

四、边界条件与扩展

1. 特殊场景验证
  • 空树:返回0
  • 单节点树:返回层号1
  • 负数和层:正确识别负数层和的最大值
  • 平局层和:返回最先出现的较小层号
2. 多语言实现
class TreeNode:def __init__(self, val=0, left=None, right=None):self.val = valself.left = leftself.right = rightfrom collections import dequeclass Solution:def maxLevelSum(self, root: TreeNode) -> int:if not root:return 0max_sum = float('-inf')result_level = 0level = 1queue = deque([root])while queue:level_sum = 0level_size = len(queue)for _ in range(level_size):node = queue.popleft()level_sum += node.valif node.left:queue.append(node.left)if node.right:queue.append(node.right)if level_sum > max_sum:max_sum = level_sumresult_level = levellevel += 1return result_level
class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) { val = x; }
}class Solution {public int maxLevelSum(TreeNode root) {if (root == null) return 0;Queue<TreeNode> queue = new LinkedList<>();queue.offer(root);int maxSum = Integer.MIN_VALUE;int result = 0;int level = 1;while (!queue.isEmpty()) {int size = queue.size();int sum = 0;for (int i = 0; i < size; i++) {TreeNode node = queue.poll();sum += node.val;if (node.left != null) queue.offer(node.left);if (node.right != null) queue.offer(node.right);}if (sum > maxSum) {maxSum = sum;result = level;}level++;}return result;}
}

五、总结与扩展

1. 核心创新点
  • 层级聚合策略:利用BFS天然分层特性实现高效统计
  • 极值双维护机制:同步维护最大值和最小层号两个状态量
2. 扩展应用
  • 三维层级分析:处理多个平行树结构的层级统计
  • 动态权重求和:支持节点带权重的层级统计
  • 分布式计算:对超宽层级进行分片并行计算
3. 工程优化
  • 内存池技术:预分配节点存储空间减少GC压力
  • 层级缓存:实现层级结果的持久化存储
  • 增量更新:支持动态树的增量层级统计
http://www.dtcms.com/a/413439.html

相关文章:

  • 什么网站可以免费推广wordpress搭建tag页面
  • 在线平面设计网站哪个好做招聘网站多少钱
  • 中国遵义门户网站百度网站架构
  • 中国建设网站首页iis部署网站 错误400
  • 网络公司给销售公司做网站三门县住房和城乡建设规划局网站
  • 东莞网站建设招聘手机端网站制作教程
  • 中石油工程建设公司网站响应式网站模板的应用
  • 网站模板设计教程网站建设OA系统开发
  • 阿里云做外贸网站美食网站设计的基本思路
  • 网站免费建站app招商网站建设简介
  • Spring Cloud Alibaba快速入门-Sentinel热点参数限流
  • 国产99做视频网站wordpress主题播放音乐不刷新
  • html5 网站模板网站开发合同是否专属管辖
  • 网站 系统设置火车头 wordpress 4.3
  • 云主机如何建网站在线作图网站
  • 四团网站建设糗事百科 wordpress
  • 天河商城型网站建设钓鱼网站二维码制作软件
  • 同城类网站建设多少钱手机网页设计网站建设
  • 做网站有前景吗福州关键词排名
  • 刷推广软件什么叫seo网站推广
  • 揭阳建设网站网站建设的出路
  • 建设网站费用吗wordpress 上传pdf附件
  • 表格模板免费下载网站wordpress安装插件
  • 免费网页代理ip地址网站公司装修怎么样
  • 网站SEO的评价网站视频解析
  • 美食网站设计方案网站制作公司高端
  • 做网站学习什么定制网络设备的后期维护缺点
  • qq建设网站上海网站制作建设是什么
  • 宁波网站建设就找荣胜家居装修公司排名
  • 个人网站广告联盟搭建WordPress的king免费