首页 > 其他分享 >515. 在每个树行中找最大值(中)

515. 在每个树行中找最大值(中)

时间:2023-12-23 13:55:06浏览次数:26  
标签:cur val max 最大值 节点 root 515 树行

目录

题目

  • 给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。

题解:BFS

  • BFS遍历每一层,在每一层每一个元素出队的时候更新最大值,保存每一层的最大值,最后返回即可。
class Solution:
    def largestValues(self, root: Optional[TreeNode]) -> List[int]:
        if not root:# 如果根节点为空,返回空列表
            return []
        q=[root]#用列表做队列
        res=[] # 存储每层的最大值
        while q:
            size=len(q)
            max_val=float('-inf')# 当前层的最大值初始化为负无穷小
            for _ in range (size):
                cur=q.pop(0)# 从队列中取出当前节点
                max_val=max(max_val,cur.val)# 更新当前层的最大值
                if cur.left:
                    q.append(cur.left)# 将左子节点添加到队列中
                if cur.right:
                    q.append(cur.right) # 将右子节点添加到队列中
            res.append(max_val) # 将当前层的最大值添加到结果列表中
        return res # 返回每层的最大值列表

标签:cur,val,max,最大值,节点,root,515,树行
From: https://www.cnblogs.com/lushuang55/p/17923069.html

相关文章

  • C题目分析:PTA二维数组中每行最大值和每行和
    *首先记住以下:算法框架从内到外。明确改变的条件。明确如何改变。明确导向结果。一。分析流程:输入——组成数组——输出数组和最大值二。细化:S1输入的格式:一行输入,中间空格,最后一格无空格。S2组成数组:运用二维数组,其中前四个数中间有三个空格,且第一个数前有三个空格,第四和五个数中......
  • 2023-12-16:用go语言,给定整数数组arr,求删除任一元素后, 新数组中长度为k的子数组累加和
    2023-12-16:用go语言,给定整数数组arr,求删除任一元素后,新数组中长度为k的子数组累加和的最大值。来自字节。答案2023-12-16:来自左程云。灵捷3.5大体步骤如下:算法maxSum1分析:1.计算输入数组arr的长度n。2.如果n<=k,则返回0。3.初始化ans为int类型的最小值(math......
  • 2023-12-16:用go语言,给定整数数组arr,求删除任一元素后, 新数组中长度为k的子数组累加和
    2023-12-16:用go语言,给定整数数组arr,求删除任一元素后,新数组中长度为k的子数组累加和的最大值。来自字节。答案2023-12-16:来自左程云。灵捷3.5大体步骤如下:算法maxSum1分析:1.计算输入数组arr的长度n。2.如果n<=k,则返回0。3.初始化ans为int类型的最小值(math.MinInt32)......
  • JS中两个数组取最大值
    如果你有两个数组,并且想要找到它们中的最大值,你可以使用Math.max()方法结合展开运算符...来实现。以下是示例代码:constarray1=[5,8,2,10];constarray2=[3,6,4,9];//使用展开运算符将两个数组合并为一个新数组constcombinedArray=[...array1,...array2];......
  • 【leetcode 239. 滑动窗口最大值】Java优先队列——PriorityQueue类
    leetcode239.滑动窗口最大值题目描述:1e5大小的nums[]数组中长度为k(1<=k<=1e5)的窗口的最大值题解:暴力求解O(n^2)会超时,需要O(nlogn)的解法使用大根堆优先队列维护窗口元素,每次取最大值复杂度降为O(1),堆结构维护复杂度O(logn)问:如果维护窗口[l,r]前[0,l-1]的元素不影......
  • 【线段树入门】 P1198 最大数(区间最大值+无懒标记+末尾插入)
    1//笔记-自用2//#pragmaGCCoptimize("Ofast")3//#pragmaGCCoptimize("unroll-loops")4#define_CRT_SECURE_NO_WARNINGS5#defineAll(a)a.begin(),a.end()6#defineINF21474836477#include<bits/stdc++.h>8#include<nu......
  • Leetcode刷题day11-栈.滑窗最大值.出现次数前K的元素
    239.滑动窗口最大值239.滑动窗口最大值-力扣(LeetCode)给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值 。示例1:输入:nums=[1,3,......
  • 求单位圆的任意内接三角形的三条中线之和的最大值.
    求单位圆的任意内接三角形的三条中线之和的最大值.分析与解:如下图所示,三角形ABC的外接圆为单位圆.AD、BE、CF是该三角形的三条中线.记BC=a,AC=b,AB=c. 由中线定理可知:4AD2=2b2+2c2-a2, 4BE2 =2a2 +2c2 -b2,4CF2 =2a2 +2b2 -c2.于是①    ......
  • mysql语句查询最大值并获取
    publicintexadd(examexam)throwsException{Connectionconnection=DBUtil.dbCon();Stringsql="selectmax(eid)eidfromjuan";PreparedStatementpstmt=null;......
  • 使用函数求奇数和 求成绩的最大值
    6-1使用函数求奇数和本题要求实现一个函数,计算N个整数中所有奇数的和,同时实现一个判断奇偶性的函数。函数接口定义:在这里描述函数接口。例如:inteven(intn);intOddSum(intList[],intN);其中函数even将根据用户传入的参数n的奇偶性返回相应值:当n为偶数时返回......