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

无锡设计网站公司微信小程序登录流程

无锡设计网站公司,微信小程序登录流程,wordpress下载服务器文件,wordpress nginx 乱码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/449509.html

相关文章:

  • GraphQL 工程化篇 I - REST vs GraphQL 的取舍与基础配置
  • springboot二手儿童绘本交易系统设计与实现(代码+数据库+LW)
  • 如何解决 pip install -r requirements.txt 本地轮子路径 ‘./packages/xxx.whl’ 不存在 问题
  • 西宁好的网站建设智慧工业园区建设方案
  • Kotlin Flow 与“天然背压”(完整示例)
  • Kotlin invoke 函数调用重载
  • 郑州网站建设培训学校昆明怎样优化网站
  • XMLHttpRequest 异步请求servlet 上传文件并且带有参数
  • Python私教FastAPI+React构建Web应用01 概述
  • 深入理解操作系统进程:管理的本质与“先描述,再组织“的核心逻辑
  • 网站手机自适应无锡产品排名优化
  • 深度学习(十五):Dropout
  • 收录提交大全成都百度seo推广
  • wordpress本地更换为网站域名龙华区网站建设
  • 高佣金返利平台的数据一致性挑战:基于Seata的分布式事务解决方案与补偿机制设计
  • 外包网站开发多少钱安监局网站做应急预案备案
  • go build命令
  • Go语言入门(22)-goroutine
  • 网站建设及编辑岗位职责网站做查赚钱
  • 开源革命下的研发突围:Meta Llama系列模型的知识整合实践与启示
  • 做的网站怎样更新排名优化网站seo排名
  • 鸿蒙NEXT网络通信实战:使用HTTP协议进行网络请求
  • FastApi项目启动失败 got an unexpected keyword argument ‘loop_factory‘
  • 杭州有专业做网站的吗用.net做购物网站
  • 什么是 mesh 组网
  • 网站建设什么行业创建个人网站教案
  • 十五、深入理解 SELinux
  • 10.6作业
  • 《投资-70》投资、投机、赌博的比较,一个靠企业内在的价值增值、一个靠市场的价格波动、一个全靠随机性的运气。
  • 前端知识详解——HTML/CSS/Javascript/ES5+/Typescript篇/算法篇