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

企业注册网站公司市场营销策划方案

企业注册网站,公司市场营销策划方案,建一个信息 类网站,长宁区网站建设题目 给你一个二叉树的根节点 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/wzjs/507736.html

相关文章:

  • 邢台八方网络科技有限公司武汉seo网站优化技巧
  • wordpress 搜索分类新乡seo公司
  • 网站建设中界面模板长尾关键词挖掘熊猫
  • 连云港企业网站制作爱站seo工具
  • wordpress怎么做采集企业网站推广优化公司
  • 住房和城乡建设部网站安全月百度官网
  • 四川做直销会员网站关键词挖掘工具爱站网
  • 做ppt找素材的网站百度百科官网入口
  • 网站推广怎么样做影视后期哪个培训靠谱
  • 云服务器做视频网站seo诊断工具有哪些
  • 网站换肤代码移动慧生活app下载
  • 网站弹窗广告怎么做百度收录推广
  • 福州网站推广公司网站综合排名信息查询
  • 昆山网站制作哪家强赣州seo
  • 深圳营销网站建站公司我想做网络推广找谁
  • 吉林省水土保持生态建设网站做销售找客户渠道
  • 学生制作设计个人网站360搜索首页网址是多少
  • 做网站要多少钱 知乎免费个人网站建设
  • 在智联招聘网站做销售2023适合小学生的新闻事件
  • 自己做手机版网站制作宁波网络推广联系方式
  • 建设企业网站电话是多少专业seo网站优化推广排名教程
  • 自己主机做标签电影网站中央网站seo
  • 哪个基层司法所网站做的比较好广西seo快速排名
  • 建个网站有收女生做sem还是seo
  • 如何制作h5做网站自动推广软件免费
  • 58做网站吗seo推广排名
  • 网站建设应用引流推广怎么做
  • 优秀高端网站建设企业baike seotl
  • 网站上的定位怎么做有哪些免费推广网站
  • 网站建设咨询哪些方面谷歌浏览器下载手机版app