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

怎样查看网站服务商wordpress百度搜索对接

怎样查看网站服务商,wordpress百度搜索对接,wordpress源码安装教程,公众号怎么推广快又有效leetcode 437 思路 利用前缀和hash map解答 前缀和在这里的含义是:从根节点到当前节点的路径上所有节点值的总和 我们使用一个 Map 数据结构来记录这些前缀和及其出现的次数 具体思路如下: 初始化:创建一个 Map ,并将前缀和 …

leetcode 437
在这里插入图片描述

思路

利用前缀和+hash map解答

前缀和在这里的含义是:从根节点到当前节点的路径上所有节点值的总和
我们使用一个 Map 数据结构来记录这些前缀和及其出现的次数
具体思路如下:

  1. 初始化:创建一个 Map ,并将前缀和 0 出现的次数初始化为 1 。这是因为在遍历开始时,我们还没有访问任何节点,此时的前缀和就是 0 ,它的出现次数为 1 次。同时,初始化一个变量 count 用于记录满足条件的路径数量,初始值为 0
const map = new Map();​
map.set(0, 1);let count = 0;
  1. 深度优先搜索:定义一个递归函数 deep 用于进行深度优先遍历。在每次递归中,我们计算当前节点的前缀和 curSum ,它等于从根节点到上一个节点的前缀和 sum 加上当前节点的值 root.val
const deep = (root, sum) => {if (!root) return;const curSum = sum + root.val;
  1. 判断是否存在满足条件的路径:计算当前前缀和 curSum 与目标值 targetSum 的差值 diff ,即 diff = curSum - targetSum 。如果 Map 中存在 diff 这个前缀和,说明从根节点到当前节点的路径中,存在一段子路径的和等于目标值 targetSum ,那么满足条件的路径数量就需要加上 diff 出现的次数
const diff = curSum - targetSum​
if (map.has(diff)) {​count += map.get(diff);}
  1. 更新前缀和及其出现次数:如果 Map 中已经存在当前前缀和 curSum ,则将其出现次数加 1 ;否则,将 curSum 加入 Map ,并将其出现次数设置为 1
if (map.has(curSum)) {​map.set(curSum, map.get(curSum) + 1)} else {​map.set(curSum, 1)}
  1. 继续递归遍历左右子树:分别对当前节点的左子树和右子树进行递归调用,继续计算子树中的前缀和
root.left && deep(root.left, curSum)​
root.right && deep(root.right, curSum)
  1. 回溯:在递归返回时,需要进行回溯操作。因为我们已经遍历完当前节点的子树,要回到上一层节点继续遍历,所以需要将当前前缀和 curSum 的出现次数减 1 ,以保证 Map 中记录的前缀和状态只反映从根节点到当前层节点的情况
map.set(curSum, map.get(curSum) - 1)

难点-使用回溯

在本题实现的过程中,可能会忽略掉回溯的步骤

那么为什么需要回溯操作

模拟实现:考虑如下二叉树(目标和 targetSum = -1):

    1/ \-2  -3

若无回溯:

  1. 遍历根节点 1
    • 前缀和 curSum = 1,差值 1 - (-1) = 2,map 中无 2,不计数
    • map 状态:{0:1, 1:1}
    • 递归左子树 -2
  2. 遍历左子节点 -2
    • 前缀和 curSum = 1 + (-2) = -1,差值 -1 - (-1) = 0,map 中存在 0(初始值),计数 + 1(路径[1, -2]正确)。
    • 未回溯时,map 状态:{0:1, 1:1, -1:1}(保留 -1 的计数)。
    • 左、右子树为空,返回根节点
  3. 递归右子树 -3
    • 前缀和 curSum = 1 + (-3) = -2,差值 -2 - (-1) = -1
    • 此时 map 中存在 -1(来自左子树的记录),算法错误认为存在路径和为 -1,计数 + 1
    • 错误结果:count = 2,但实际仅[1, -2]满足条件

其实在这里第三步中diff = -1此时map中不应该存在-1这一项,因为这里的map只是1->-3 ,却把1->2的部分也存储了起来,导致结果的不准确,使得1->2这条路径重复计算,结果出错

回溯的作用(有回溯时)

  • 离开左子节点 -2 时,执行 map.set(-1, 0),map 恢复为 {0:1, 1:1}。
  • 遍历右子树 -3 时,前缀和 -2 的差值 -1 在 map 中无匹配,不计数。
  • 正确结果:count = 1

实现

var pathSum = function (root, targetSum) {const map = new Map();map.set(0, 1);let count = 0; // 满足条件的路径const deep = (root, sum) => {if (!root) return;const curSum = sum + root.val;const diff = curSum - targetSumif (map.has(diff)) {count += map.get(diff);}if (map.has(curSum)) {map.set(curSum, map.get(curSum) + 1)} else {map.set(curSum, 1)}// 左root.left && deep(root.left, curSum)// 右root.right && deep(root.right, curSum)// 回溯map.set(curSum, map.get(curSum) - 1)}deep(root, 0)return count;
};

文章转载自:

http://bB4Vg0r7.xsszn.cn
http://TtNvWAAD.xsszn.cn
http://I8BdpEdR.xsszn.cn
http://sQbdLATR.xsszn.cn
http://x3VGfr2t.xsszn.cn
http://FxVkmS5R.xsszn.cn
http://6gi2y4Ir.xsszn.cn
http://jq3eZTAL.xsszn.cn
http://biz52Ncv.xsszn.cn
http://pLL8SiUA.xsszn.cn
http://SpRXJANf.xsszn.cn
http://YrRckMFg.xsszn.cn
http://INfc2Dk5.xsszn.cn
http://JRNqlpTB.xsszn.cn
http://qNylmg4j.xsszn.cn
http://eSHvx8BG.xsszn.cn
http://Zn0bsxZD.xsszn.cn
http://CDiDbFIg.xsszn.cn
http://sMLzUApA.xsszn.cn
http://ZfoBQtTi.xsszn.cn
http://nYmsCwmB.xsszn.cn
http://HQS0D6L9.xsszn.cn
http://luDnQqam.xsszn.cn
http://vRV4iXAr.xsszn.cn
http://rYAgWzNb.xsszn.cn
http://VCS7150O.xsszn.cn
http://0aAhquy5.xsszn.cn
http://joEfPzUw.xsszn.cn
http://lmk2bgfk.xsszn.cn
http://8pEL7iFA.xsszn.cn
http://www.dtcms.com/wzjs/614451.html

相关文章:

  • 网站升级 html招聘 人才招聘
  • 推广的网站宁波建设协会网站首页
  • 怎么投诉做网站的公司公司网站做论坛
  • seo怎么做整站排名沈阳男科医院排名最好的是哪家
  • 广州网站建设-信科分公司全国装饰100强排名
  • 西安机械加工网黑帽seo技术有哪些
  • 昆明商城网站开发wordpress仿hexo主题
  • 网站后台登陆验证码不显示怎么查在建工地的信息
  • 网站开发可行性分析什么是网站备案
  • 兰州新区城乡建设局网站wordpress繁体
  • 网页设计网站维护昆明出入最新规定
  • 哪里需要人做钓鱼网站怎样做才能让网站更受关注
  • icp备案网站要先建好吗wordpress tag_id
  • 一级a做爰片免费视频网站黄石企业做网站
  • 网站开发需要学习哪些内容网站为什么被降权
  • 温州建设网站平顶山公司网站建设
  • 外贸网站如何做ui设计师做网站
  • 贵州省建设厅官网站微信公众号网页版登录入口
  • 网站中引用字体佛山移动网站设计公司
  • 网站开发程序说明一个叫mit做app的网站
  • 网站在哪里找中小企业网站制作塞尼铁克
  • 常德地区网站建设黄石建设工程信息网
  • 一般做个网站需要多少钱wordpress 文章查询
  • 手机网站 后台怎么免费做网站不要域名
  • 仿站 做网站网页设计公司宣传事例
  • 网站加栏目公司的网站建设费进入什么科目
  • 电商网站建设情况汇报网站建设管理成本估计
  • 用于做网站的软件做app页面的网站
  • 青岛建网站哪个好怎么设计公司的网站
  • 安徽整站优化html百科网站模板