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

无锡设计网站公司网站建设系统开发

无锡设计网站公司,网站建设系统开发,mukioplayerwp wordpress,电商网站开发人员1161. 最大层内元素和 - 力扣(LeetCode) 题目 给你一个二叉树的根节点 root。设根节点位于二叉树的第 1 层,而根节点的子节点位于第 2 层,依此类推。 请返回层内元素之和 最大 的那几层(可能只有一层)的…

1161. 最大层内元素和 - 力扣(LeetCode)

题目

给你一个二叉树的根节点 root。设根节点位于二叉树的第 1 层,而根节点的子节点位于第 2 层,依此类推。

请返回层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那个。

示例 1:

输入:root = [1,7,0,7,-8,null,null]
输出:2
解释:
第 1 层各元素之和为 1,
第 2 层各元素之和为 7 + 0 = 7,
第 3 层各元素之和为 7 + -8 = -1,
所以我们返回第 2 层的层号,它的层内元素之和最大。

示例 2:

输入:root = [989,null,10250,98693,-89388,null,null,null,-32127]
输出:2

提示:

  • 树中的节点数在 [1, 104]范围内
  • -105 <= Node.val <= 105

思路

  1. 仍是采用广度优先搜索,逐层统计各层的元素和,但是过程中需记录深度。
  2. 一开始记录root->val为最大和,往下统计当且仅当当前层大于最大和时更新最大和的值和最大和的深度。
  3. 统计完所有层后返回最大和的深度即可。

代码实现

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int maxLevelSum(TreeNode* root) {queue<TreeNode*> layer1, layer2;int depth = 1, sum = 0, max_depth = 1, maxn;TreeNode* node;layer1.push(root);maxn = root->val;bool flag = true;while(!layer1.empty() || !layer2.empty()) {if(flag) {node = layer1.front();sum += node->val;if(node->left) layer2.push(node->left);if(node->right) layer2.push(node->right);layer1.pop();if(layer1.empty()) {if(maxn < sum) {maxn = sum;max_depth = depth;}flag = !flag;sum = 0;depth++;}}else {node = layer2.front();sum += node->val;if(node->left) layer1.push(node->left);if(node->right) layer1.push(node->right);layer2.pop();if(layer2.empty()) {if(maxn < sum) {maxn = sum;max_depth = depth;}flag = !flag;sum = 0;depth++;}}}return max_depth;}
};

复杂度分析

  • 时间复杂度:每个元素仅涉及一次出入队,时间复杂度为O(n)。
  • 空间复杂度:取决于元素最多的一层的元素数,最差空间复杂度近似于O(n)。
http://www.dtcms.com/a/450783.html

相关文章:

  • Python - 100天从新手到大师:第四十四Python接入MySQL数据库
  • 俱乐部网站方案前程无忧做网站多少钱
  • 视频号视频下载助手appwordpress seo.php
  • 中国建设银行信用卡网站首页网站空间可以通过什么获取
  • Transformer(三)---编码器部分实现
  • DevEco Studio安装
  • C51-指针函数(返回指针的函数)
  • 遵义网站建设公司电话多少网站域名变更怎么查询
  • 上海网站设计建设wordpress的交叉表单
  • 网站正在建设 下载站长之家短链接生成
  • 杭州住房建设部官方网站室内设计培训班快速
  • Doris专题7- 索引
  • 建设银行境外购物网站荣耀手机商城官方网站入口
  • 哪些调查网站可以做问卷赚钱传统文化网站建设方案
  • 成都食品网站开发学校网站需求
  • C++基础:(七)模版初阶:从泛型编程到类模板
  • 【CV理论】什么是Marr的视觉理论?
  • cakephp网站开发框架gta5网站建设中
  • 广西建设局网站首页it行业35岁后都干嘛
  • 成都私人做网站建设做企业网站软件
  • 网站优化排名软件宁波正规站内优化seo
  • 德阳建设局网站首页amh wordpress 邮件
  • 怎么做才能使网站ip增多WordPress按钮跳转插件
  • wordpress怎样建立多站点电子商务企业网站建设实训报告
  • 玉门市住房和城乡建设局网站商品房合同备案查询入口
  • 10.3.2 Fireware内核空间架构实现
  • 不属于常用网站建设的是网络工程考研方向
  • 建立网站的风险图片免费转链接
  • windows10前段网站建设用html制作个人博客
  • Typora免费版本分享