Leetcode 437. 路径总和 III (Day 16)JavaScript

javascript 复制代码
var pathSum = function(root, targetSum) {
    let count=0,sum=0;
    const idx=new Map();
    function dfs(root){
        if(!root) return;
        idx.set(sum,(idx.get(sum)??0)+1);
        sum+=root.val;
        const j=sum-targetSum;
        count+=idx.get(j)??0;
        dfs(root.left);
        dfs(root.right);
        sum -= root.val;
        idx.set(sum, idx.get(sum) - 1);
        
    }
    dfs(root);
    return count;
};

算法核心同题560 前缀和+哈希表
注意:要回溯! 如果不回溯左子树会污染右子树,同时回溯时要与添加时对称

javascript 复制代码
idx.set(sum,(idx.get(sum)??0)+1);
sum+=root.val;
//对称
sum -= root.val;
idx.set(sum, idx.get(sum) - 1);
相关推荐
叫我:松哥几秒前
基于卷积神经网络的静态手势语识别算法,在测试集上的识别准确率达到97.5%
人工智能·python·深度学习·神经网络·算法·cnn
hhb_6183 分钟前
TypeScript泛型实战:企业级请求封装全解析
javascript·ubuntu·typescript
珊瑚里的鱼4 分钟前
【动态规划】买卖股票的最佳时机含手续费
算法·动态规划
BomanGe222 分钟前
NSK直线导轨LH55EL与NH55EM替代指南
前端·javascript·数据库·经验分享·规格说明书
云水一下22 分钟前
Vue.js从零到精通系列(四):前端路由与Vue Router——打造多页单页应用
前端·javascript·vue.js
2401_8856651926 分钟前
从零搭建卷积神经网络:基于PyTorch实现MNIST手写数字分类
pytorch·python·神经网络·算法·机器学习·分类·cnn
bIo7lyA8v26 分钟前
算法优化的多层缓存映射与访问调度模型的技术8
算法
研☆香32 分钟前
jQuery补充知识点
前端·javascript·jquery
先吃饱再说34 分钟前
JavaScript栈和队列:从“冰柜里的雪糕”到“排队打饭”
javascript·数据结构
dongf201936 分钟前
R语言朴素贝叶斯算法---iris数据集
开发语言·算法·数据分析·r语言