【树-简单】637. 二叉树的层平均值

第8章 Stata主成分分析与因子分析 在进行数据统计分析时,还往往会遇见变量特别多的情况,而且很多时候这些变量之间还存在着很强的相关关系或者说变量之间存在着很强的信息重叠,如果我们直接对数据进行分析,一方面会带来工作量的无畏的加大,另一方面还会出现一些模型应用的错误,于是主成分分析与因子分析应运而生。这两种分析方法的基本思想都是在不损失大量信息的前提下,利用较少的独立变量来替代原来的变量进行进一步的分析。 8.1主成分分析 基本思想是将众多的初始变量整合成少数几个互相无关的主成分变量,而这些新变量尽可能地包含... 阅读详情

【题目】
给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。

示例 1:

输入:
3
/
9 20
/
15 7
输出:[3, 14.5, 11]
解释:
第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。

提示:

节点值的范围在32位有符号整数范围内。

【代码】
【BFS】借助模拟队列
在这里插入图片描述

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def averageOfLevels(self, root: TreeNode) -> List[float]:
        queue=[root]
        ans=[]
        while queue:
            size=len(queue)
            temp_sum=0
            for i in range(size):
                node=queue.pop(0)
                temp_sum+=node.val
                if node.left:
                    queue.append(node.left)
                if node.right:
                    queue.append(node.right)
            ans.append(temp_sum/size)
        return ans

【递归】共享变量,统计同一层次的结点
在这里插入图片描述

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def averageOfLevels(self, root: TreeNode) -> List[float]:
        self.depth=dict()
        self.visit(root,0)
        return [sum(self.depth[x])/len(self.depth[x]) for x in self.depth]
    
    def visit(self,root,depth):
        if not root:
            return depth
        self.depth[depth]=self.depth.setdefault(depth,[])
        self.depth[depth].append(root.val)
        self.visit(root.left,depth+1)
        self.visit(root.right,depth+1)

【递归2】
在这里插入图片描述

class Solution:
    def averageOfLevels(self, root: TreeNode) -> List[float]:
        def dfs(root: TreeNode, level: int):
            if not root:
                return
            if level < len(totals):
                totals[level] += root.val
                counts[level] += 1
            else:
                totals.append(root.val)
                counts.append(1)
            dfs(root.left, level + 1)
            dfs(root.right, level + 1)

        counts = list()
        totals = list()
        dfs(root, 0)
        return [total / count for total, count in zip(totals, counts)]
python实现下载和离线安装包环境 导出当前电脑python安装的所有包列表requirement.txt。 阅读详情

相关推荐

C# 实现鼠标轨迹录制与回放自动化功能(附源码)

通过本文的介绍,相信大家已经掌握了鼠标轨迹录制与回放功能的实现方式。该功能在自动化测试和重复性工作中具有重要应用价值。后续可以进一步优化,增加更多扩展功能,形成一个完整的自动化工具。

weixin_72139050的博客 1756

Leetcode637. 二叉树的层平均值(C语言)

Leetcode637. 二叉树的层平均值(C语言) 数据结构-树:算法与数据结构参考 题目: 给定一个非空二叉树, 返回一个由每层节点平均值(32位有符号整数范围内)组成的数组.例: 输入:[3,9,20,15,7] 输出: [3, 14.5, 11] 思路: 一个数组存储每一层节点,一个数组存储每一层平均值,输出平均值数组。注意节点总下标还是行下标,以及相应计算条件 代码: /** * D...

jeanlu的博客 717

无人驾驶小车调试笔记(六)-- 车轮校准

简介:小车的动力完全来自于两个电机带动的车轮,在理想状态下,给两个电机同样的驱动参数,两个车轮会以同样的转速带动小车直线行驶,而实际情况是每个电机可能都会有个体差异,也就是说给予同样的驱动参数,表现出的转动速度会有些许不同,两个轮子的差速会导致车辆拐弯,后果就是给了直线行驶的控制命令,但是车走着走着就偏离了原本的方向,所以在开始控制之前,我们需要先平衡两个车轮的转速,保证在同样驱动参数下,两个车轮转速大致相同,也就是可以走直线。 车轮校准分为3步,测试、调整后再测试、保存参...

aibingjin的博客 1823

637. 二叉树的层平均值

637. 二叉树的层平均值https://leetcode.cn/problems/average-of-levels-in-binary-tree/难度简单346给定一个非空二叉树的根节点 , 以数组的形式返回每一层节点的平均值。与实际答案相差 以内的答案可以被接受。示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:[3.00000,14.50000,11.00000] 解释:第 0 层的平均值为 3,第 1 层的平均值为 14.5,第 2 层的平均值为 11 。

肥不溜秋大梅子 218

告别卡顿!用AVPro Video在Unity 2022.3里流畅播放4K视频的保姆级配置流程

本文详细介绍了如何在Unity 2022.3中使用AVPro Video插件实现4K视频的流畅播放。从环境配置、插件选型到核心性能优化技巧,包括解码器设置、内存管理策略和多平台适配方案,帮助开发者彻底解决卡顿问题,提升视频播放体验。

weixin_32349561的博客 319

深入Google DroidGuard:剖析其自定义虚拟机如何守护Android应用安全(附pcbc文件机制解析)

本文深入解析Google DroidGuard自定义虚拟机如何通过独特的架构设计和加密机制保护Android应用安全。DroidGuard采用动态密钥派生、全加密执行环境和pcbc文件机制,有效防御逆向工程和自动化攻击,为移动安全提供新思路。

weixin_34254464的博客 308

【LeetCode】C++ :简单题 - 树 637. 二叉树的层平均值

637. 二叉树的层平均值 难度简单224 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例 1: 输入: 3 / \ 9 20 / \ 15 7 输出:[3, 14.5, 11] 解释: 第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。 提示: 节点值的范围在32位有符号整数范围内。 这题还是层序遍历,因此我就一块写了,顺便训练自己对层序遍历掌握的熟练...

weixin_44566432的博客 228

Linux系统下Materials Studio 2020安装避坑指南:从依赖包到许可证配置全流程

本文提供了一份在Linux系统上安装Materials Studio 2020的深度避坑指南。详细解析了从系统依赖包检查、安装流程、许可证配置到Gateway服务部署的全过程,并分享了与Slurm作业调度系统集成的实战经验,旨在帮助用户高效、稳定地完成部署。

weixin_29313547的博客 387

二叉树的层平均值

给定一个非空二叉树, 返回一个由每层节点平均值组成的数组. 示例 1: 输入: 3 / \ 9 20 / \ 15 7 输出: [3, 14.5, 11] 解释: 第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3, 14.5, 11]. 注意: 节点值的范围在32位有符号整数范围内。 来源:力扣(LeetCode) 链接:h...

叶落忆痕的博客 316

【具身算法】VLA算法-Diffusion Policy

《扩散策略:多模态机器人控制的新方法》摘要 本文提出了一种基于扩散模型的机器人控制策略(DiffusionPolicy),用于解决视觉运动控制中的多模态行为、高维动作空间和训练稳定性问题。该方法利用去噪扩散概率模型(DDPM)生成动作序列,通过迭代优化处理复杂动作分布,显著提升了性能。实验表明,在15项机器人操作任务中,扩散策略平均性能提升46.9%,有效解决了传统显式/隐式策略的局限性。其核心优势在于:1)优雅建模多模态动作分布;2)适应高维动作空间;3)训练过程稳定。未来工作将探索与强化学习的结合及计算

puzhinan7781的博客 1391

MIPI D-PHY TX 一致性测试实例解析 Part 01 续

本文为MIPI D-PHY TX一致性测试实例解析part01章节的第二部分

一只豌豆象的博客 6048

637.二叉树的层平均值-简单-树的层序遍历

637.二叉树的层平均值 题目描述 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例 1: 输入: 3 / \ 9 20 / \ 15 7 输出:[3, 14.5, 11] 解释: 第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。 给定代码: /** * Definition for a binary tree node. * public class TreeNode { *

qq_38454093的博客 192

【一 扣子客户案例合集】【 1.3 识典古籍基于扣子智能助手的古籍数字化全流程技术解析】

古籍数字化智能处理系统全流程解析 本文详细介绍了基于扣子智能助手的古籍数字化解决方案,核心技术包括: 多层级架构设计:采用"云-边-端"三层次架构,整合高精度扫描设备与AI处理模块,实现从物理古籍到结构化数据的全流程自动化。 智能图像处理:通过12道预处理工序(包括畸变校正、污渍去除和对比度增强)处理古籍图像,采用改进的EAST算法和ViT模型实现高精度文字检测与识别,准确率达98.7%。 NLP增强处理:结合Transformer-XL预训练模型和N-gram语言模型进行文本校正,基于

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 1442

637. 二叉树的层平均值(简单 树 广度优先搜索 二叉树)

637. 二叉树的层平均值 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例 1: 输入: 3 / 9 20 / 15 7 输出:[3, 14.5, 11] 解释: 第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。 提示: 节点值的范围在32位有符号整数范围内。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/average-of-levels-in-bina

weixin_43942435的博客 224

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java实现 LeetCode 637 二叉树的层平均值(遍历树)

637. 二叉树的层平均值 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组. 示例 1: 输入: 3 / \ 9 20 / \ 15 7 输出: [3, 14.5, 11] 解释: 第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3, 14.5, 11]. 注意: 节点值的范围在32位有符号整数范围内。 /** *...

南 墙 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LeetCode 637 二叉树的层平均值

LeetCode 637 二叉树的层平均值 题目链接 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例 1: 输入: 3 / \ 9 20 / \ 15 7 输出: [3, 14.5, 11] 典型的 BFS,每层算一个答案即可,AC代码如下: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left;

旺崽的博客 2649

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

leetcode637. 二叉树的层平均值,广度优先搜索BFS

leetcode637. 二叉树的层平均值,广度优先搜索BFS

热爱C++和golang的学生 1521

637. 二叉树的层平均值【 力扣(LeetCode) 】

给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。

yyh520025的博客 1120

LeetCode637.二叉树的层平均值

LeetCode637.二叉树的层平均值

Love Peace 697

LeetCode 637. 二叉树的层平均值 | Python

使用 BFS、DFS 的思路,解决 LeetCode《637. 二叉树的层平均值》问题

"大梦三千秋的博客 749

LeetCode题练习与总结:二叉树的层平均值--637

本文详细介绍了如何使用广度优先搜索算法计算二叉树每层节点的平均值,并提供了Java实现代码,分析了时间复杂度和空间复杂度,总结了涉及的关键知识点。

一直学习永不止步 1035

Leetcode 637. 二叉树的层平均值 C++

Leetcode 637. 二叉树的层平均值 题目 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例: 输入: 3 / \ 9 20 / \ 15 7 输出:[3, 14.5, 11] 解释: 第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。 提示: 节点值的范围在32位有符号整数范围内。 题解 bfs 统计每层的平均值,详细过程见代码 代码 vector<double&gt

weixin_43750513的博客 343

Leetcode刷题笔记 637. 二叉树的层平均值

637. 二叉树的层平均值 时间:2020年9月12日 知识点:广搜bfs 题目链接:https://leetcode-cn.com/problems/average-of-levels-in-binary-tree/ 题目 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例1 输入: 3 / \ 9 20 / \ 15 7 输出: [3, 14.5, 11] 解释: 第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回

cjl的博客 325
上一篇: 【树-简单】104. 二叉树的最大深度
下一篇: 【树-简单】404. 左叶子之和
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值