码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 面试必考精华版Leetcode437. 路径总和 III


    题目:


    代码(首刷看解析,暴力法):

    1. class Solution {
    2. public:
    3. long rootSum(TreeNode* root,long targetSum){
    4. if(!root) return 0;
    5. long res=0;
    6. if(root->val==targetSum){
    7. res++;
    8. }
    9. res+=rootSum(root->left,targetSum-root->val);
    10. res+=rootSum(root->right,targetSum-root->val);
    11. return res;
    12. }
    13. long pathSum(TreeNode* root, long targetSum) {
    14. if(!root) return 0;
    15. long res =rootSum(root,targetSum);
    16. res+=pathSum(root->left,targetSum);
    17. res+=pathSum(root->right,targetSum);
    18. return res;
    19. }
    20. };

            int类型大小不够,需要long


    代码(二刷看解析 前缀和 2024年3月6日)

    1. class Solution {
    2. public:
    3. int res;
    4. void recursion(TreeNode* root, const int target, long long prefix_sum, unordered_map<long long,int>& um) {
    5. if (!root) return;
    6. prefix_sum += root->val;
    7. res += um[prefix_sum - target];
    8. um[prefix_sum]++;
    9. recursion(root->left, target, prefix_sum, um);
    10. recursion(root->right, target, prefix_sum, um);
    11. um[prefix_sum]--;
    12. }
    13. int pathSum(TreeNode* root, int targetSum) {
    14. if (!root) return 0;
    15. unordered_map<long long, int> prefix_to_quantity;
    16. res = 0;
    17. prefix_to_quantity[0] = 1;
    18. recursion(root, targetSum, 0, prefix_to_quantity);
    19. return res;
    20. }
    21. };
  • 相关阅读:
    如何判断bug是前端bug还是后端bug
    Jenkins 面试题及答案整理,最新面试题
    2022年加氢工艺考试题模拟考试平台操作
    已解决:Ubuntu系统开启电脑一直出现Boot Menu
    【Linux系统化学习】探索进程的奥秘 | 第一个系统调用
    Java之toString方法
    【linux命令讲解大全】092.用let命令进行算术计算的Bash内建工具
    css绘制三角形
    2022年整理最详细的java面试题、掌握这一套八股文、面试基础不成问题[吐血整理、纯手撸]
    【coocs creator】Objective-C 执行 JS 代码,传递json数据
  • 原文地址:https://blog.csdn.net/qq_52313711/article/details/133456374
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号