LeetCode-Leetcode 1120:子树的最大平均值

LeetCode-Leetcode 1120:子树的最大平均值

  • 题目描述:
  • 解题思路一:递归
  • 解题思路二:0
  • 解题思路三:0

题目描述:

给你一棵二叉树的根节点 root,找出这棵树的 每一棵 子树的 平均值 中的 最大 值。

子树是树中的任意节点和它的所有后代构成的集合。

树的平均值是树中节点值的总和除以节点数。

示例:
在这里插入图片描述

输入:[5,6,1]
输出:6.00000
解释: 
以 value = 5 的节点作为子树的根节点,得到的平均值为 (5 + 6 + 1) / 3 = 4。
以 value = 6 的节点作为子树的根节点,得到的平均值为 6 / 1 = 6。
以 value = 1 的节点作为子树的根节点,得到的平均值为 1 / 1 = 1。
所以答案取最大值 6

提示:

树中的节点数介于 1 到 5000之间。
每个节点的值介于 0 到 100000 之间。
如果结果与标准答案的误差不超过 10^-5,那么该结果将被视为正确答案。

解题思路一:递归

算法思路:
用一个二维数组表示子树的所有节点的和与节点数量。
空节点返回0,0
非空节点返回,左子树和与右子树和与当前值的总和,左右子树总个数+1
更新res

class Solution:def maximumAverageSubtree(self, root: TreeNode) -> float:res = 0.0def dfs(root):nonlocal resif not root:return 0, 0l, r = dfs(root.left), dfs(root.right)values, nodes = l[0] + r[0] + root.val, l[1] + r[1] + 1res = max(res, values/nodes)return values, nodesdfs(root)return res

时间复杂度:O(n)
空间复杂度:O(logn)

解题思路二:0


时间复杂度:O(n)
空间复杂度:O(n)

解题思路三:0


时间复杂度:O(n)
空间复杂度:O(n)


创作不易,观众老爷们请留步… 动起可爱的小手,点个赞再走呗 (๑◕ܫ←๑)
欢迎大家关注笔者,你的关注是我持续更博的最大动力


原创文章,转载告知,盗版必究



在这里插入图片描述


在这里插入图片描述
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/38200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

还不知道工业以太网和现场总线区别???

工业以太网 工业以太网是一种专为工业环境设计的网络通信技术,它基于标准的以太网技术,但针对工业应用进行了优化。工业以太网能够适应高温、低温、防尘等恶劣工业环境,采用TCP/IP协议,与IEEE 802.3标准兼容,并在应用层…

Studying-代码随想录训练营day24| 93.复原IP地址、78.子集、90.子集II

第24天,回溯算法part03,牢记回溯三部曲,掌握树形结构结题方法💪 目录 93.复原IP地址 78.子集 90.子集II 总结 93.复原IP地址 文档讲解:代码随想录复原IP地址 视频讲解:手撕复原IP地址 题目&#xff1…

安全架构概述_3.与信息安全相关的国内外标准及组织

1.国外标准 (1)可信计算机系统评估准则(Trusted Computer System Evaluation Criteria,TCSEC),也称为“橘皮书”,1985年12月有美国国防部公布。 (2)信息技术安全评估准则…

如何利用python画出AHP-SWOT的战略四边形(四象限图)

在企业或产业发展的相关论文分析中,常用到AHP-SWOT法进行定量分析,形成判断矩阵后,如何构造整洁的战略四边形是分析的最后一个环节,本文现将相关代码发布如下: import mpl_toolkits.axisartist as axisartist import …

玩转springboot之springboot定制嵌入式的servlet

springboot定制嵌入式的servlet容器 修改容器配置 有两种方式可以修改容器的配置 可以直接在配置文件中修改和server有关的配置 server.port8081 server.tomcat.uri-encodingUTF-8//通用的Servlet容器设置 server.xxx //指定Tomcat的设置 server.tomcat.xxx编写一个EmbeddedSer…

5. web信息收集(OWASP实战训练)

5. web信息收集(OWASP实战训练) 1. 信息收集概述2. Google hacking2.1 Site2.2 filetype2.3 inurl2.4 intitle2.5 intext2.6 实例2.7 符号 3. shodan hacking3.1 IP3.2 service/protocol3.3 keyword3.4 country3.5 product3.6 version3.7 hostname3.8 os…

解决本机电脑只能通过localhost访问,不能通过127.0.0.1访问

背景问题 有天我启动项目,发现项目连接Mysq总是连接不上,查了url、ip、port、用户名和密码都没有错,就是连接不上mysql数据库,后来通过查找资料发现有多个进程占用3306端口。 pid 6016 是mysqld服务 而pid 9672 是一个叫 svchos…

windows终端

只要你和计算机有交互不妨来看看 什么是终端? 终端其实就是一个命令窗口。你可以用它向电脑和操作系统发出指令:比如创建文件,删除文件之类的。 为什么要用终端?(终端得好处) windows最开始的时候时没有…

逆变器--学习笔记(一)

并网: 逆变器中的“并网”指的是逆变器将其产生的交流电与电网同步,并输送到公共电网中。并网逆变器通常用于太阳能发电系统和其他分布式发电系统,将其产生的电能输送到电网供其他用户使用。 THD谐波失真总量: 逆变器的THD(Tot…

大模型系列课程学习-基于2080TI-22G魔改卡搭建双卡大模型训练平台(双系统)

1.选择合适的硬件配置 再配置电脑之前,需要确认自己需要的显存大小、主板、内存条、电源、散热等核心配件。经过前期调研,选择的硬件配置如下: (1)主板:华南X99_F8D(DDR4主板),因为需要支持双卡…

Python: PyCharm 2023.1 调试

1.设断点 (行号对应的红色点,在需要设置断点的代码行与行号之间鼠标点击即可以设置) 2.shiftF9,或 altshiftf9 选择文件 或是在菜单 Run->debug "main" 或是在菜单Run->debug 选择文件 (鼠标光标放在设置第一个…

DDD学习笔记四

领域模型的构建 基础领域模型的基本组成有名称、属性、关联、职责、事件和异常 发掘领域概念3种策略: 1)学习已有系统,重用已有模型 2)使用分类标签。分类标签来源于领域,需要我们研究一些资料并做一些提炼。从采用5W…

深入解析scikit-learn中的交叉验证方法

交叉验证是机器学习中用于评估模型性能的重要技术,它可以帮助我们理解模型在未知数据上的泛化能力。scikit-learn(简称sklearn)是一个广泛使用的Python机器学习库,提供了多种交叉验证方法。本文将详细介绍scikit-learn中提供的交叉…

基于elastic stack的docker-compose部署的ELK与LDAP集成

说明: ldap信息配置到es配置文件上,然后kibana读取es的配置信息 用户与角色的关系通过role_mapping.yml文件配置获取 角色与权限的关系通过elastic stack提供的DevTools或API进行维护 一、前置条件: 1.1 es已开启xpack(已开启…

centos误删yum和python

在下载pkdg时,因为yum报错坏的解释器,然后误删了yum和python。 在下载各种版本,创建各种软连接,修改yum文件都不好使后,发现了这样一个方法:Centos: 完美解决python升级导致的yum报错问题(相信…

DIY智能音箱:基于STM32的低成本解决方案 (附详细教程)

摘要: 本文详细介绍了基于STM32的智能音箱的设计与实现过程,包括硬件设计、软件架构、语音识别、音乐播放等关键技术。通过图文并茂的方式,结合Mermaid流程图和代码示例,帮助读者深入理解智能音箱的工作原理,并提供实际操作指导。…

《每天5分钟用Flask搭建一个管理系统》第9章:API设计

第9章:API设计 9.1 RESTful API的概念 RESTful API是一种基于HTTP协议的网络服务接口设计方法,它使用标准的HTTP方法,如GET、POST、PUT、DELETE等,来执行资源的操作。 9.2 Flask-RESTful扩展的使用 Flask-RESTful是一个Flask扩…

利用队列Queue或栈Stack解决字符数组转换运算题

一、题目 给定包含特殊运算符号,$ ,转换规则如下 xy2xy3 x$y 3x2y1 其中x,y都是非负整数且优先级高于 $。 相同的特殊运算符,从左到右顺序计算。用例保证,$,左右一定存在数字,且数字不存在前导…

汇川CodeSysPLC教程03-2-10 如何组态

大家好,我是阿凡工控分享,本期我们将调整教程的顺序,和粉丝朋友们讨论后,后续我将优先出绿旗标注的部分,便于小白水平的你循序渐进,其他水平的朋友有些需求可能要稍后了,如果有问题请见谅&#…

Batch文件中的goto命令:控制流程的艺术

Batch文件,也称为批处理脚本,是Windows操作系统中用于自动化任务的一种脚本文件。在Batch脚本中,goto命令是一个至关重要的控制结构,它允许脚本跳转到指定的标签位置,从而实现循环、条件分支等复杂的控制流程。本文将详…