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

网站门户是什么意思网站运营与管理的一个目的是

网站门户是什么意思,网站运营与管理的一个目的是,如何建设网站挣钱,湖北seo整站优化题目 给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目。 「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。 一、代码实现 func goodNodes(root *TreeNode) int {if root nil {return 0}return d…

题目

给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目。
「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。

一、代码实现

func goodNodes(root *TreeNode) int {if root == nil {return 0}return dfs(root, root.Val)
}func dfs(node *TreeNode, maxVal int) int {if node == nil {return 0}count := 0if node.Val >= maxVal {count = 1maxVal = node.Val}count += dfs(node.Left, maxVal)count += dfs(node.Right, maxVal)return count
}

二、算法分析

1. 核心思路
  • 深度优先遍历:通过前序遍历访问每个节点,实时维护路径最大值
  • 贪心比较:当前节点值若大于等于路径最大值,则标记为好节点并更新最大值
  • 递归分治:将问题分解为左右子树的子问题,合并结果得到总数
2. 关键步骤
  1. 初始化最大值:以根节点值作为初始路径最大值
  2. 递归终止条件:空节点返回0
  3. 节点判断:比较当前节点值与路径最大值,更新计数器和最大值
  4. 递归分解:分别处理左右子树,传递更新后的最大值
3. 复杂度
指标说明
时间复杂度O(n)每个节点访问一次
空间复杂度O(h)h为树的高度(递归栈空间)

三、图解示例

以二叉树[3,1,4,3,null,1,5]为例:

        3/ \1   4/   / \3   1   5

递归过程

  1. 根节点3:路径最大3 → 好节点(计数1)
  2. 左子节点1:路径最大3 → 不计数
  3. 左子节点的左子3:路径最大3 → 好节点(计数+1)
  4. 右子节点4:路径最大4 → 好节点(计数+1)
  5. 右子节点的左子1:路径最大4 → 不计数
  6. 右子节点的右子5:路径最大5 → 好节点(计数+1)
    总计数:1 + 1 + 1 + 1 = 4

四、边界条件与扩展

1. 特殊场景验证
  • 单节点树:返回1
  • 递减序列:如5→4→3→2 → 返回4(每个节点都是好节点)
  • 负数值:如[-2,null,-3] → 返回1(仅根节点是好节点)
2. 多语言实现
class Solution:def goodNodes(self, root: TreeNode) -> int:def dfs(node, max_val):if not node: return 0count = 0if node.val >= max_val:count = 1max_val = node.valreturn count + dfs(node.left, max_val) + dfs(node.right, max_val)return dfs(root, root.val)
class Solution {public int goodNodes(TreeNode root) {return dfs(root, root.val);}private int dfs(TreeNode node, int maxVal) {if (node == null) return 0;int count = 0;if (node.val >= maxVal) {count = 1;maxVal = node.val;}return count + dfs(node.left, maxVal) + dfs(node.right, maxVal);}
}

五、总结与扩展

1. 核心创新点
  • 路径最大值传递:通过递归参数动态维护路径最大值
  • 高效计数机制:仅需单次遍历即可完成所有判断
  • 空间优化:利用递归栈替代显式栈结构
2. 扩展应用
  • 路径最大值统计:可扩展记录所有路径中的最大值分布
  • 节点标记存储:修改算法以存储所有好节点列表
  • 多条件筛选:结合其他条件(如最小值、奇偶性)扩展筛选逻辑
3. 工程优化方向
  • 迭代实现:用栈模拟递归过程避免栈溢出
  • 并行计算:对左右子树进行并发遍历
  • 缓存优化:对大规模数据预计算路径特征

文章转载自:

http://A3muwgCZ.dbhnx.cn
http://8NBVDNCm.dbhnx.cn
http://qVqD3w07.dbhnx.cn
http://3wruO3vx.dbhnx.cn
http://bfnMQeuM.dbhnx.cn
http://5nCIx1Qw.dbhnx.cn
http://B27MMmLZ.dbhnx.cn
http://GYGwEWSj.dbhnx.cn
http://gWfWqriS.dbhnx.cn
http://UAwOruWp.dbhnx.cn
http://6xottLfY.dbhnx.cn
http://JQDQFV1v.dbhnx.cn
http://f8Vqb7mI.dbhnx.cn
http://SyMuv1Dk.dbhnx.cn
http://fr5QoYrL.dbhnx.cn
http://YMA5Ah2n.dbhnx.cn
http://tvYsAK44.dbhnx.cn
http://gofMLsm7.dbhnx.cn
http://Kc8KioDO.dbhnx.cn
http://GvCkMgHA.dbhnx.cn
http://DJqnXdb2.dbhnx.cn
http://twx2GWun.dbhnx.cn
http://017SV3Mn.dbhnx.cn
http://5G9BNY1q.dbhnx.cn
http://1mOBoMb0.dbhnx.cn
http://0cLoVYEb.dbhnx.cn
http://DsDAyF3t.dbhnx.cn
http://ABi9Jc5c.dbhnx.cn
http://8i1qwAdv.dbhnx.cn
http://8USjOL0l.dbhnx.cn
http://www.dtcms.com/wzjs/660394.html

相关文章:

  • wordpress评论区插件谷歌seo快速排名软件首页
  • 做网站用的软件有哪些制作网站的公司
  • 网站用什么软件编写那个网站ppt做的比较好
  • 网站改版seo建议做网站那个公司
  • 设计网站需要的知识wordpress手册插件
  • 在哪里做卖车网站免费影视logo在线设计
  • 个人建立网站网站开发流程分为哪3个阶段
  • 常用来做网站首页的是做网站价格 网络推广托管服务
  • 应用分析网站更改wordpress登录图标
  • 手机网站自助一站式建站企业网站和
  • 网站优化防范乐陵seo公司
  • 网站建设工具有哪些品牌昆明企业公司网站建设
  • 自己能否建设网站淘客网站是怎么做的
  • 网站建设系统 网站自助建站系统深圳工业设计培训班
  • 站长工具seo综合查询怎么看数据女儿玩手机到深夜23点怎么办
  • 做网站按什么收费百度移动网站检测
  • 兰州seo整站优化服务商公司品牌宣传方案
  • 做手机网站费用wordpress 年月归档
  • 衡水提供网站制作公司哪家专业百度网盘怎么增大免费空间
  • 网站开发课程设计总结门户网站开发过程视频
  • 专门做宠物食品的网站京津冀协同发展现状
  • 邮件验证登录网站开发公司网站建设费用会计入账
  • 常州知名网站建设公司wordpress导入主题慢
  • 做旅游海报的软件或是网站咸阳网
  • 网站建设实训报告ppt页面调用不了wordpress
  • 企业网站一年多少钱帮客户做违法网站违法么
  • 学院网站建设进度情况说明英文网站的外部链接 建设
  • 可以网站可以做免费的文案广告手机优化大师怎么卸载
  • 网站 手机版网站开发合同wordpress图床
  • 自助式网站建设 济南百度ai智能搜索引擎