当前位置: 首页 > article >正文

C++ | Leetcode C++题解之 第508题出现次数最多的子树元素和

题目:

题解:

class Solution {
    unordered_map<int, int> cnt;
    int maxCnt = 0;

    int dfs(TreeNode *node) {
        if (node == nullptr) {
            return 0;
        }
        int sum = node->val + dfs(node->left) + dfs(node->right);
        maxCnt = max(maxCnt, ++cnt[sum]);
        return sum;
    }

public:
    vector<int> findFrequentTreeSum(TreeNode *root) {
        dfs(root);
        vector<int> ans;
        for (auto &[s, c]: cnt) {
            if (c == maxCnt) {
                ans.emplace_back(s);
            }
        }
        return ans;
    }
};

http://www.kler.cn/news/368080.html

相关文章:

  • ELK日志收集
  • 如何理解前端与后端开发
  • IP数据报的 分片与组装技术 深度解析
  • Kafka消费者故障,出现活锁问题如何解决?
  • .net Core中使用sqlsugar
  • 第11天理解指针
  • Day 53 图论五
  • nginx 修改配置
  • 正则表达式(Regular Expression, Regex)详解
  • linux中的PATH环境变量
  • 【笔记】Diffusion Model 扩散过程(熵增过程:从有序变为无序):在原始分布上逐步的加高斯噪声,加到最后这个分布就变成一个各项独立的高斯分布
  • [Linux网络编程]05-TCP状态和端口复用,shutdown函数(主动方建立/关闭连接状态,被动方建立/关闭连接状态,2MSL时长,TCP其他状态)
  • protobuf序列化
  • 解读AVL树:平衡二叉搜索树的奥秘
  • python 爬虫 入门 五、抓取图片、视频
  • 建造者设计模式
  • 基于知识图谱的苹果病虫害知识图谱问答
  • redis详细教程(2.List教程)
  • 如何快速开发一套基于Java的诊所管理系统?
  • C++设计模式——Factory Method工厂方法模式
  • C#文件内容检索的功能
  • P11232 [CSP-S 2024] 超速检测(民间数据)
  • ES6:let和const命令解读以及变量的解构赋值
  • PostgreSQL(十三)pgcrypto 扩展实现 AES、PGP 加密,并自定义存储过程
  • Flink CDC系列之:学习理解核心概念——Transform
  • Elasticsearch 解析:倒排索引机制/字段类型/语法/常见问题