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

【二叉树】Leetcode 637. 二叉树的层平均值

637.二叉树的层平均值

解题思路

        根据层序遍历的模板进行修改;主要的不同是,不需要输出每一层所有节点值,只需要输出平均值,只需要定义一个double双精度浮点数储存每一层数的总和,输出时将总和除以层节点总数即为层平均数,改动如下:

while (!temp.empty()) 
{double ave = 0; // vector<int> layer;int num = temp.size(); // 当前层节点数for (int i = 0; i < num; i++) // 遍历当前层的节点{ TreeNode* top = temp.front();temp.pop();ave += top->val; //layer.push_back(top->val);if (top->left != nullptr)temp.push(top->left); // 左子节点入队if (top->right != nullptr)temp.push(top->right); // 右子节点入队}
}
ans.push_back(ave / num); //ans.push_back(layer);

完整代码

class Solution {
public:vector<double> averageOfLevels(TreeNode* root){vector<double> ans;queue<TreeNode*> temp;if(root != nullptr)temp.push(root);elsereturn ans;while(!temp.empty()){double ave = 0;int num = temp.size();for(int i = 0; i < num; i++){TreeNode* top = temp.front();temp.pop();ave += top->val;if(top->left != nullptr)temp.push(top->left);if(top->right != nullptr)temp.push(top->right);}ans.push_back(ave/num);}return ans;}
};

相关文章:

【二叉树】Leetcode 637. 二叉树的层平均值

637.二叉树的层平均值 解题思路 根据层序遍历的模板进行修改&#xff1b;主要的不同是&#xff0c;不需要输出每一层所有节点值&#xff0c;只需要输出平均值&#xff0c;只需要定义一个double双精度浮点数储存每一层数的总和&#xff0c;输出时将总和除以层节点总数即为层平均…...

设计模式-15-Jdk源码中的设计模式

之前我们学习了一些设计模式&#xff0c;今天我们剖析Java JDK 源码中用到的几种常见的设计模式。 1-jdk之工厂模式 在前面讲到工厂模式的时候&#xff0c;大部分工厂类都是以Factory作为后缀来命名&#xff0c;并且工厂类主要负责创建对象这样一件事情。但在实际的项目开发中…...

Vue框架学习笔记——事件scroll和wheel的区别

文章目录 前文提要滚动条滚动事件 scroll鼠标滚动事件 wheel二者不同点 前文提要 本人仅做个人学习记录&#xff0c;如有错误&#xff0c;请多包涵 滚动条滚动事件 scroll scroll事件绑定html页面中的指定滚动条&#xff0c;无论你拖拽滚动条&#xff0c;选中滚动条之后按键盘…...

【LeetCode】每日一题 2023_11_29 无限集中的最小数字(哈希/堆)

文章目录 刷题前唠嗑题目&#xff1a;无限集中的最小数字题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode&#xff1f;启动&#xff01;&#xff01;&#xff01; 今天的题目也比较的简单&#xff0c;因为数据量不大&#xff0c;所以什么做法都能过的去 题目&a…...

C/C++ 常用的四种查找算法

在计算机科学中&#xff0c;搜索算法是一种用于在数据集合中查找特定元素的算法。C语言作为一种强大的编程语言&#xff0c;提供了多种搜索算法的实现方式。本文将介绍C语言中的四种常见搜索算法其中包括&#xff08;线性查找&#xff0c;二分法查找&#xff0c;树结构查找&…...

Linux | Ubuntu设置 netstat(网络状态)

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据&#xff0c;一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序&#xff0c;它能提供TCP连接&#xff0c;TCP和UDP监听&#xff0c;进程内存管理的相关报告。 1.netstat的安装 搜…...

成为AI产品经理——模型构建流程(下)

目录 1.模型训练 2.模型验证 3.模型融合 4.模型部署 上节课我们讲了模型设计、特征工程&#xff0c;这节课我们来讲模型构建剩下的三个部分&#xff1a;模型训练、模型验证和模型融合。 1.模型训练 模型训练就是要不断地训练、验证、调优直至让模型达到最优。 那么怎么达…...

TCP Socket API 讲解,以及回显服务器客户端的实现

文章目录 TCPServerSocket APISocket API TCP 客户端服务器的实现 TCP ServerSocket API ServerSocket 是创建TCP服务端 Socket 的 API。 serverSocket构造方法&#xff1a; 方法签名方法说明ServerSocket(int port)创建一个服务端流套接字Socket&#xff0c;并绑定到指定端…...

2023年掌控安全学院CTF暖冬杯——数据流分析

前言&#xff1a;打工仔一枚&#xff0c;第一波上新的3题misc 做完了 再打ISCTF随便记录一下 PS&#xff1a;环境关了&#xff0c;题目描述忘记了&#xff0c;反正就是找flag。 筛选HTTP数据流 导出数据流慢慢看 ctrl F 搜flag 看到一条 有flag.txt 的数据 导出另存.zip 这里…...

UE4 基础篇十四:自定义插件

文末有视频地址和git地址 一、概念 虚幻里插件都是用C++写的,C++包括.h文件和.cpp文件,.h头文件通常包含函数类型和函数声明,cpp文件包含这些类型和函数的实现, 你为项目编写的所有代码文件都必须位于模块中,模块就是硬盘里的一个文件夹,包含名为“Build.cs”的C#文件…...

QT QGraphicsItem 图元覆盖导致鼠标点击事件不能传递到被覆盖图元

一、概述 在日常开发中&#xff0c;遇到这样一个问题&#xff0c;线图元和引脚图元重叠&#xff0c;导致点击引脚图元&#xff0c;没有进入引脚图元的鼠标点击事件中。 二、产生原因 如果您的 QGraphicsItem 上有一个图元覆盖了它&#xff0c;可能会导致鼠标事件无法正常触发…...

proto语法学习笔记

proto语法学习笔记 Protocol Buffers&#xff08;Proto是由谷歌开发的一种数据序列化格式。 Proto 不是一种编程语言&#xff0c;而是一种接口描述语言&#xff08;IDL&#xff09;&#xff0c;用于定义数据结构和消息格式。 它的设计目标是提供一种简单、高效、可扩展的方法来…...

python-nmap库使用教程(Nmap网络扫描器的Python接口)(功能:主机发现、端口扫描、操作系统识别等)

文章目录 Python-nmap库使用教程前置条件引入python-nmap创建Nmap扫描实例执行简单的主机发现&#xff08;nmap -sn&#xff09;示例&#xff0c;我有一台主机配置为不响应 ICMP 请求&#xff0c;但使用nmap -sn&#xff0c;仍然能够探测到设备&#xff1a; 端口扫描扫描特定端…...

什么是智慧工地?

一、什么是智慧工地&#xff1f; 工地本身不拥有智慧&#xff0c;工地的运作是依赖于人的智慧。工地信息化技术&#xff0c;能够减少对人的依赖&#xff0c;使工地拥有智慧。 智慧工地&#xff0c;就是立足于“智慧城市”和“互联网”&#xff0c;采用云计算、大数据和物联网等…...

【古月居《ros入门21讲》学习笔记】08_发布者Publisher的编程实现

目录 说明&#xff1a; 1. 话题模型 图示 说明 2. 实现过程&#xff08;C&#xff09; 创建功能包 创建发布者代码&#xff08;C&#xff09; 配置发布者代码编译规则 编译并运行 编译 运行 3. 实现过程&#xff08;Python&#xff09; 创建发布者代码&#xff08;…...

沿着马可·波罗的足迹,看数字云南

刚入行的时候&#xff0c;有位前辈跟我说过一句话&#xff1a;去现场“要像外国人一样去看”&#xff0c;重新审视那些自己可能早已“熟视无睹”的事物。 前不久&#xff0c;我跟随“看见数字云南——云南数字经济媒体探营活动”&#xff0c;奔赴昆明、大理、西双版纳等地&…...

记录问题-使用@Validated报错Validation failed for argument [0]

类字段 NotNull(message "双坐标不能为空", groups {Insert.class, Update.class})private Integer yAxisType;接口 /*** 添加** return*/RequestMapping(value "/add", method RequestMethod.POST)public Result add(Validated(Insert.class) Request…...

three.js--立方体

作者&#xff1a;baekpcyyy&#x1f41f; 使用three.js渲染出可以调节大小的立方体 1.搭建开发环境 1.首先新建文件夹用vsc打开项目终端 2.执行npm init -y 创建配置文件夹 3.执行npm i three0.152 安装three.js依赖 4.执行npm I vite -D 安装 Vite 作为开发依赖 5.根…...

App的测试,和传统软件测试有哪些区别?应该增加哪些方面的测试用例?

从上图可知&#xff0c;测试人员所测项目占比中&#xff0c;App测试占比是最高的。 这就意味着学习期间&#xff0c;我们要花最多的精力去学App的各类测试。也意味着我们找工作前&#xff0c;就得知道&#xff0c;App的测试点是什么&#xff0c;App功能我们得会测试&#xff0…...

改进LiteOS中物理内存分配算法(详细实验步骤+相关源码解读)

一、实验要求 优化TLSF算法&#xff0c;将Best-fit策略优化为Good-fit策略&#xff0c;进一步降低时间复杂度至O(1)。 优化思路&#xff1a; 1.初始化时预先为每个索引中的内存块挂上若干空闲块&#xff0c;在实际分配时避免分割&#xff08;split&#xff09;操作&#xff…...

LPCM框架:芯片设计自动化的机器学习新范式

1. LPCM框架概述&#xff1a;芯片设计自动化的新范式在半导体行业持续面临"摩尔定律"放缓的背景下&#xff0c;LPCM&#xff08;Large Processor Chip Model&#xff09;框架代表了一种突破性的芯片设计方法论。这个框架本质上是一个融合了多模态机器学习与强化学习的…...

神经网络在高能物理探测器定时中的应用:从CFD到ANN的精度突破

1. 项目概述&#xff1a;当探测器遇上神经网络在高能物理实验的前沿&#xff0c;时间就是一切。无论是精确测量粒子的飞行时间以确定其动量&#xff0c;还是重建粒子碰撞的顶点&#xff0c;皮秒&#xff08;ps&#xff0c;10^-12秒&#xff09;量级的定时精度往往是决定实验成败…...

Unity新手第一课:从创建立方体理解场景驱动开发

1. 这不是“Hello World”&#xff0c;而是你和Unity第一次真正握手很多人点开Unity&#xff0c;新建一个空项目&#xff0c;盯着灰蒙蒙的Scene视图发呆——光标悬停在空白画布上&#xff0c;不知道该点哪里&#xff0c;更不知道点下去会发生什么。我带过几十个零基础学员&…...

影刀RPA跨境店群自动化:从Chromium调度到分布式容器化运营的架构演进

定了。在这场旷日持久的跨境电商反爬风控拉锯战中&#xff0c;我们终于用一套基于 Python 深度协同的分布式微服务调度架构&#xff0c;重塑了跨境千店矩阵的自动化底座。 这几天&#xff0c;科技圈被“DeepSeek V4 首发华为昇腾芯片&#xff0c;国产 AI 开始打破英伟达 CUDA …...

AutoML与图神经网络如何驱动材料科学智能化研发

1. 项目概述&#xff1a;当材料科学遇上机器学习在材料研发这个古老而又充满活力的领域&#xff0c;我们曾长期依赖着“试错法”和基于经验的直觉。合成一种新材料&#xff0c;动辄需要数年甚至数十年的实验筛选和理论计算&#xff0c;成本高昂且效率低下。然而&#xff0c;这一…...

不只是配置:在AutoDL上为你的深度学习项目打造可复现、可迁移的专属环境(Python 3.8 + CUDA 11.3)

不只是配置&#xff1a;在AutoDL上为你的深度学习项目打造可复现、可迁移的专属环境&#xff08;Python 3.8 CUDA 11.3&#xff09;深度学习项目的成功往往始于一个稳定、可复现的环境配置。对于在AutoDL平台上工作的开发者而言&#xff0c;如何超越基础的环境搭建&#xff0c…...

PDF补丁丁:5个高效PDF处理方案解决办公文档管理痛点

PDF补丁丁&#xff1a;5个高效PDF处理方案解决办公文档管理痛点 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱&#xff0c;可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档&#xff0c;探查文档结构&#xff0c;提取图片、转成图片等等 项目地址: https://gitc…...

完整掌握Stressapptest:高效系统稳定性测试的实用指南

完整掌握Stressapptest&#xff1a;高效系统稳定性测试的实用指南 【免费下载链接】stressapptest Stressful Application Test - userspace memory and IO test 项目地址: https://gitcode.com/gh_mirrors/st/stressapptest Stressful Application Test&#xff08;简称…...

Unity Addressable本地HTTP托管实战:5分钟跑通远程加载

1. 为什么Addressable本地托管总卡在“5分钟”这个幻觉里&#xff1f;Unity Addressable Asset System&#xff08;可寻址资源系统&#xff09;上线这么多年&#xff0c;我见过太多团队在“本地HTTP服务器”这一步摔得最狠——不是不会写代码&#xff0c;而是根本没搞清Address…...

UnrealPakViewer:虚幻引擎Pak文件分析终极可视化工具

UnrealPakViewer&#xff1a;虚幻引擎Pak文件分析终极可视化工具 【免费下载链接】UnrealPakViewer 查看 UE4 Pak 文件的图形化工具&#xff0c;支持 UE4 pak/ucas 文件 项目地址: https://gitcode.com/gh_mirrors/un/UnrealPakViewer UnrealPakViewer是一款专业的开源工…...