LeetCode 508. 出现次数最多的子树元素和(递归)

1. 题目

给你一个二叉树的根结点,请你找出出现次数最多的子树元素和。
一个结点的「子树元素和」定义为以该结点为根的二叉树上所有结点的元素之和(包括结点本身)。

你需要返回出现次数最多的子树元素和。如果有多个元素出现的次数相同,返回所有出现次数最多的子树元素和(不限顺序)。

示例 1:
输入:5/  \
2   -3
返回 [2, -3, 4],所有的值均只出现一次,以任意顺序返回所有值。示例 2:
输入:5/  \
2   -5
返回 [2],只有 2 出现两次,-5 只出现 1 次。提示: 假设任意子树元素和均可以用 32 位有符号整数表示。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/most-frequent-subtree-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 自底向上,计算每个节点的子树和,存入哈希map,同时记录最大出现次数
  • 遍历哈希map取出最大次数的值
class Solution {unordered_map<int,int> m;vector<int> ans;int maxCount = 0;int s;
public:vector<int> findFrequentTreeSum(TreeNode* root) {sumof(root);for(auto& mi : m)if(mi.second == maxCount)ans.push_back(mi.first);return ans;}int sumof(TreeNode* root){if(root == NULL)return 0;int l = sumof(root->left);//自底向上int r = sumof(root->right);s = l+r+root->val;if(++m[s] > maxCount)maxCount = m[s];return s;}
};

32 ms 23 MB

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

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

相关文章

知识图谱入门视频(一)

学习内容&#xff1a; 知识图谱导论 陈华钧 浙江大学计算机科学与技术学院 教授 小象学院 哔哩哔哩 第一章 【其实后面的方法学习只是一个框架式的学习&#xff0c;并不明白具体的操作】 1. 什么是知识图谱&#xff1f; 知识图谱是一个系统&#xff01; 从根据场景构建再到场…

onenetsim定位功能吗_经常玩手机的抓紧看看,原来手机键盘还隐藏4个实用功能,真实用...

可爱的人都关注我了&#xff0c;就差你了1在日常生活中&#xff0c;大家对手机的依赖性越来越大&#xff0c;不管走到哪&#xff0c;时时刻刻都拿着手机发信息。可是&#xff0c;用了这么久的手机&#xff0c;你真的会用手机键盘吗&#xff1f;你知道手机键盘上隐藏的小功能吗&…

程序模拟键盘鼠标操作

用代码模拟键盘鼠标操作,主要用到keybd_event/mouse_event或者SendInput API函数.使用示例如下(附注释): /** 模拟键盘输入,以按窗口键(WIN键)为例 *///keybd_event模拟键盘输入示例::keybd_event( VK_LWIN, 0, 0, 0); //按下WIN键 ::keybd_event( VK_LW…

LeetCode 520. 检测大写字母

1. 题目 给定一个单词&#xff0c;你需要判断单词的大写使用是否正确。 我们定义&#xff0c;在以下情况时&#xff0c;单词的大写用法是正确的&#xff1a; 全部字母都是大写&#xff0c;比如"USA"。 单词中所有字母都不是大写&#xff0c;比如"leetcode&qu…

不同电脑 命名管道_电脑键盘上的F1到F12,这些键都有哪些用处?用了5年总算明白了...

电脑键盘上的F1到F12&#xff0c;这些键都有哪些用处&#xff0c;用了5年总算明白了经常使用电脑的朋友会发现&#xff0c;电脑键盘上有一排F开头的键。那么这些键到底有什么用处呢&#xff1f;下面我们一起来了解一下。首先这些键都属于快捷键&#xff0c;所以每个键都有不同的…

知识图谱入门视频(二)

学习内容 小象学院 b站 第二章 【其实后面的方法学习只是一个框架式的学习&#xff0c;并不明白具体的操作】 第二部 典型知识库项目简介 CYC&#xff08;读音&#xff1a; 赛克&#xff09; CYC&#xff1a; 1984年由Douglas Lenat开始创建&#xff0c;最初的目标是建立人类…

InterDev 调试错误信息: Unable to set server into correct debugging state automatically....的解决办法...

InterDev 调试错误信息: Unable to set server into correct debugging state automatically....权威解决方法了&#xff1a;1、安装 vs6.0 cd2 vid_ss/setup.exe 2、安装 vs6.0 cd2 vid_ss/setup.exe3、配置dcom&#xff0c;设置用户权限4、打开IIS的调试功能5、OK详情见微软…

LeetCode 521. 最长特殊序列 Ⅰ

1. 题目 给你两个字符串&#xff0c;请你从这两个字符串中找出最长的特殊序列。 「最长特殊序列」定义如下&#xff1a;该序列为某字符串独有的最长子序列&#xff08;即不能是其他字符串的子序列&#xff09;。 子序列 可以通过删去字符串中的某些字符实现&#xff0c;但不…

wordpress acf字段 不同样式_提升wordpress执行效率二次开发实录

wordpress 对分类增加广告配置功能 wp_terms 增加admaster字段 varchar 200 wp-admin/edit-tag-form.php 小资料&#xff1a; wordpress wp_terms分类表 wp_term_taxonomy分类类型表、wp_term_relationships分类关联表 这三个表单相互关联 wordpress优化效率 当wordpress执行…

知识图谱入门知识(一)知识图谱应用以及常用方法概述

学习内容 搜集各种博客&#xff0c;理解实体识别、关系分类、关系抽取、实体链指、知识推理等&#xff0c;并且总结各种分类中最常用的方法、思路。 由于自己刚刚接触知识图谱&#xff0c;对该领域的概念和方法的描述还不是很清楚&#xff0c;所以只是简单的列出框架和添加链接…

openMP学习笔记(一)

声明&#xff1a;欢迎任何人和组织转载本blog中文章&#xff0c;但必须标记文章原始链接和作者信息。 本文链接&#xff1a;http://blog.csdn.net/li_007/archive/2009/04/30/4139211.aspx 开拓进取的小乌龟------->CSDN点滴点点滴滴Blog 之前大概看了一下openMP&#xff0c…

LeetCode 532. 数组中的K-diff数对

1. 题目 给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对。 这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组中的数字&#xff0c;且两数之差的绝对值是 k. 示例 1: 输入: [3, 1, 4, 1, 5], k 2 输出: 2 解释: 数组中有两个 2-diff …

python随机生成六位数密码_python生成6位包含数字和字母的密码

初学python&#xff0c;简单敲了几行生成6位包含数字和字母密码的代码(我是在python 3上敲的)首先理清思路&#xff1a;1、包含数字和字母的六位口令共有36^6个2、将0-9和a-z合成一个字符串pwd,用pwd[0-35]表示所有数字和小写字母&#xff0c;即pwd[0]0,pwd[1]1…pwd[34]y,pwd[…

知识图谱入门视频(三)

学习内容 小象学院 b站 第三章 【其实后面的方法学习只是一个框架式的学习&#xff0c;并不明白具体的操作】 链接 问题&#xff1a; 知识图谱究竟是什么&#xff1f; 可以看看开放知识图谱 其实就是将我们的语言拆分转换为符号表达&#xff0c;之后经过机器学习来将离散式的…

博客新皮肤上市

原创&#xff1a;冰极峰 有朋友说原来的博客不好看&#xff0c;趁着五一节放假&#xff0c;花了点时间重新制作了一套样式&#xff0c;图片借用一个外国博客的图片。 样式全部基于自定义皮肤样式改写的。 说实话&#xff0c;改写博客园样式是一件比较痛苦的事情&#xff0c;你不…

python调用接口测试_Python接口测试实战2 - 使用Python发送请求

本节内容requests安装requests使用JSON类型解析requests库详解带安全认证的请求序言上节课我们学习了接口测试的理论&#xff0c;抓包工具及使用Postman手工测试各种接口&#xff0c;这节课我们主要讲解使用Python语言来发送接口请求&#xff0c;实现接口测试自动化。发送请求,…

LeetCode 551. 学生出勤记录 I

1. 题目 给定一个字符串来代表一个学生的出勤记录&#xff0c;这个记录仅包含以下三个字符&#xff1a; A : Absent&#xff0c;缺勤 L : Late&#xff0c;迟到 P : Present&#xff0c;到场如果一个学生的出勤记录中 不超过一个’A’(缺勤) 并且 不超过两个连续的’L’(迟到…

论文阅读笔记(一)【Journal of Machine Learning Research】Natural Language Processing (Almost) from Scratch(未完)

学习内容 题目&#xff1a; 自然语言从零开始 Natural Language Processing (Almost) from Scratch 2021年7月28日 1-5页 这将是一个长期的过程&#xff0c;因为本文长45页&#xff1b; 每天给自己定为5页的任务量&#xff01; 由于刚开始接触知识图谱&#xff0c;尚未学习N…

python找出录取率最高的年份_Python分析42年高考数据,告诉你高考为什么这么难?...

不同省份的985和211录取率有着比较明显的差距&#xff0c;12个省份的985录取率低于1.5%&#xff0c;安徽&#xff0c;河南&#xff0c;江苏和贵州更是低于1.2%大数据文摘授权转载自数据森麟作者&#xff1a;徐麟对于已经工作的“上班族”来说&#xff0c;6月7号到9号三天无疑是…

知识图谱入门视频(四)

学习内容 小象学院 b站 问题 本体和实体的区别&#xff1f; 苹果公司是一个科技公司&#xff0c;那么苹果公司就是一个实体&#xff0c;它所对应的科技公司就是本体概念。分布式表示和分布式存储 前者是将语义连续化&#xff0c;后者则是一个存不下&#xff1b; 第四部分 应…