首页 > 编程语言 >python3 队列的使用

python3 队列的使用

时间:2024-10-03 12:23:36浏览次数:11  
标签:node right val 队列 self queue 使用 python3 left

在leetcode 如下题目中使用队列

637. 二叉树的层平均值:

# 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: Optional[TreeNode]) -> List[float]:
        ans = []
        queue = deque([root])

        while queue:
            sum = 0
            cnt = len(queue)
            for i in range(cnt):
                node = queue.popleft()
                sum += node.val
                if node.left:
                    queue.append(node.left)
                if node.right:
                    queue.append(node.right)

            ans.append(sum/cnt)

        return ans

 

标签:node,right,val,队列,self,queue,使用,python3,left
From: https://www.cnblogs.com/jyfyonghu/p/18445574

相关文章

  • 菜鸟笔记之pwn工具篇--pwntools库的基本使用
    啥是pwntools?Pwntools是一个用于漏洞利用和二进制分析的Python库,广泛应用于安全研究、渗透测试和竞争性编程(如CTF,CaptureTheFlag)中。它为用户提供了一套强大的工具和功能,以简化与二进制文件的交互、网络通信以及各种常见任务的执行。简而言之,pwntools可以说是pwn手必备的......
  • 菜鸟笔记之pwn工具篇--Pwndbg基础使用
    什么是pwndbg?它是gdb的一个插件,增加了许多功能,来帮助pwn手可以快速寻找到所需要的信息,除了pwndbg之外还有peda、gef等工具可以用来协助进行调试。如何给pwndbg分屏?vim~/.gdbinitsetcontext-output/dev/pts/2#这里修改成2,那么就会在第二个终端显示信息pwndbg的基础操......
  • 在Visual Studio Code中配置使用venv隔离python环境
    venv的用途Python的venv是一个用于创建虚拟环境的模块,主要作用是为每个项目提供一个隔离的Python运行环境。这样不同项目的依赖可以相互独立,不会产生冲突。例如,一个项目可以使用Python3.8,另一个项目使用Python3.10,彼此之间不受影响。相比其他环境管理工具,如conda,venv是Python......
  • Docker容器Centos不能使用systemctl命令问题
    最近使用Docker搭建Centos容器时遇到这样的问题:Centos系统的不能使用systemctl命令!具体场景使用systemctl或service命令重启服务时。systemctlrestartsnmpd.service会报无权限的错误:FailedtogetD-Busconnection:Operationnotpermitted;这是docker中centos7......
  • 在树莓派上部署yolo模型推理并使用onnx加速
    首先在这里感谢一下这位大佬:学不会电磁场的个人空间-学不会电磁场个人主页-哔哩哔哩视频(bilibili.com)这里使用的代码是从手把手教你使用c++部署yolov5模型,opencv推理onnx模型_哔哩哔哩_bilibili处来的我这里只记录下更换成自己的模型的应用以及提供一份全注释的版本这里是链......
  • 使用说明
    1.鼠标拖动左上角蓝色图标到游戏窗口,进行绑定,绑定成功后软件下发会显示游戏版本号2.设置蓓_数,多少倍就是多少刀3.箭_隔就是每刀的间隔1000=1秒,如果设置间隔100那么每秒就是10刀4.磨_式,模式一是没有过检测的,绝大部分服是支持开的,但是间隔需要调高点,一般建议用模式2模式3或其......
  • macbook m1 pro 使用parallel desktop安装ubuntu24.04以及docker+网络配置
    1.使用paralleldesktop安装ubuntu这个不多说,一开始以为使用24.04版本太新,目前倒是也没遇到什么问题,直接使用pd首页提供的镜像就可以2.配置网络我本地是在macm1pro上,使用了shadowrocket,打开sr,下面设置中有一个代理共享,开启它,并配置一个端口回到ubuntu中,打开网络配置,把......
  • 分别使用OVP-UVP和OFP-UFP算法以及AFD检测算法实现反孤岛检测simulink建模与仿真
    1.课题概述分别使用OVP-UVP和OFP-UFP算法以及AFD检测算法实现反孤岛检测simulink建模与仿真。 2.系统仿真结果  3.核心程序与模型版本:MATLAB2013b   functionsys=mdlOutputs(t,x,u)%定义全局变量globalf_i;globalf_vo;globalf_v_hb......
  • 妙用编辑器:如何使用编辑器的筛选功能更高效的阅读日志
    妙用编辑器:如何使用编辑器的筛选功能更高效的阅读日志应用场景在日常工作中,经常需要查看日志以便定位问题,有时通篇的阅读日志文件往往非常消耗时间,往往找到一个关键字,希望一次性把该关键字在日志中所有出现的地方都查阅一遍,使用搜索功能当然可行,但是还是有些麻烦,需要前后跳转,打......
  • SQL自学:使用函数处理数据
    一、使用函数1、文本处理函数文本处理函数如同强大的文字操控工具,能够实现对文本数据的多样化操作。它可以进行字符串的转换、截取、拼接等处理,满足不同场景下对文本信息的处理需求。例如,通过特定的文本处理函数,可以将文本转换为特定的大小写形式,以便进行统一的文本比较和检......