当前位置:网站首页>【二叉树-中等】508. 出现次数最多的子树元素和
【二叉树-中等】508. 出现次数最多的子树元素和
2022-08-10 01:52:00 【菜菜2022】
【题目】
给你一个二叉树的根结点 root ,请返回出现次数最多的子树元素和。如果有多个元素出现的次数相同,返回所有出现次数最多的子树元素和(不限顺序)
一个结点的 「子树元素和」 定义为以该结点为根的二叉树上所有结点的元素之和(包括结点本身)。
提示:
节点数在 [1, 10^4] 范围内
-105 <= Node.val <= 105
【代码】后序遍历二叉树,计算每个当前节点的【子树元素和】,将每个节点的【子树元素和】存储在字典中,遍历完二叉树之后,对字典进行排序,按照value的从大到小进行排序,找到value的最大值,然后遍历字典所有满足这个最大值的key的列表。
class Solution:
def findFrequentTreeSum(self, root: Optional[TreeNode]) -> List[int]:
cnt={
}
def dfs(root):
if not root:
return 0
l=dfs(root.left)
r=dfs(root.right)
root.val+=l+r
if root.val not in cnt:
cnt[root.val]=0
cnt[root.val]+=1
return root.val
dfs(root)
cnt=dict(sorted(cnt.items(),key=lambda x:-x[0]))
max_c=max(cnt.values())
return [key for key in cnt if cnt[key]==max_c]
其实这里不对字典进行排序也是可以达到相同的效果
# 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 findFrequentTreeSum(self, root: Optional[TreeNode]) -> List[int]:
cnt={
}
def dfs(root):
if not root:
return 0
l=dfs(root.left)
r=dfs(root.right)
root.val+=l+r
if root.val not in cnt:
cnt[root.val]=0
cnt[root.val]+=1
return root.val
dfs(root)
# cnt=dict(sorted(cnt.items(),key=lambda x:-x[0]))
max_c=max(cnt.values())
return [key for key in cnt if cnt[key]==max_c]
边栏推荐
- Button countdown reminder
- 已备案域名用国外服务器会不会掉备案?
- T5:Text-toText Transfer Transformer
- 高并发+海量数据下如何实现系统解耦?【下】
- Visual low-code system practice based on design draft identification
- type-C 边充电边听歌(OTG) PD芯片方案,LDR6028 PD充电加OTG方案
- FusionConpute虚拟机的发放与管理
- 《GB39732-2020》PDF下载
- RESOURCE_EXHAUSTED: etcdserver: mvcc: database space exceeded
- 具有多孔光纤的偏振分束器
猜你喜欢
Problems and solutions related to Chinese character set in file operations in ABAP
按钮倒计时提醒
Unity vertex animation
Summary of Web Performance Testing Models
SQL注入的order by ,limit与宽字节注入
通关剑指 Offer——剑指 Offer II 012. 左右两边子数组的和相等
进程管理和任务管理
免费文档翻译软件电脑版软件
Shader Graph learns various special effects cases
grafana9配置邮箱告警
随机推荐
中级xss绕过【xss Game】
c# 解决CS8602告警 解引用可能出现空引用
用于X射线光学器件的哈特曼波前传感器
通关剑指 Offer——剑指 Offer II 012. 左右两边子数组的和相等
2022 Top Net Cup Quals Reverse Partial writeup
谷歌翻译器-谷歌翻译器软件批量自动翻译
Deep Learning (5) CNN Convolutional Neural Network
FILE结构体在stdio.h头文件源码里的详细代码
Database management tool: dynamic read-write separation
Interdepartmental Communication Skills
【论文笔记】基于深度学习的机器人抓取虚拟仿真实验教学系统
实操|风控模型中常用的这三种预测方法与多分类场景的实现
C# winform 单选框
ImportError: Unable to import required dependencies: numpy
数据库治理利器:动态读写分离
flask增删改查
2022年8月8日-2022年8月15日,ue4视频教程+插件源码()
Process management and task management
C# 正则表达式分组查询
DP 优化方法合集