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

织梦模板库怎么优化标题和关键词排名

织梦模板库,怎么优化标题和关键词排名,企业服务公司是干嘛的,外包公司什么意思题目 在二叉树中将路径定义为顺着节点之间的连接从任意一个节点开始到达任意一个节点所经过的所有节点。路径中至少包含一个节点,不一定经过二叉树的根节点,也不一定经过叶节点。给定非空的一棵二叉树,请求出二叉树所有路径上节点值之和的最…

题目

在二叉树中将路径定义为顺着节点之间的连接从任意一个节点开始到达任意一个节点所经过的所有节点。路径中至少包含一个节点,不一定经过二叉树的根节点,也不一定经过叶节点。给定非空的一棵二叉树,请求出二叉树所有路径上节点值之和的最大值。例如,在如图8.6所示的二叉树中,从节点15开始经过节点20到达节点7的路径的节点值之和为42,是节点值之和最大的路径。
在这里插入图片描述

分析

这个题目中二叉树路径的定义又和前面的不同。这里的路径最主要的特点是路径有可能同时经过一个节点的左右子节点。例如,在图8.6中,一条路径可以经过节点15、节点20和节点7,即节点20的左子节点15和右子节点7同时在一条路径上。当然,路径也可以不同时经过一个节点的左右子节点。例如,在图8.6中,一条路径可以经过节点-9、节点20、节点15和节点-3。

也就是说,当路径到达某个节点时,该路径既可以前往它的左子树,也可以前往它的右子树。但如果路径同时经过它的左右子树,那么就不能经过它的父节点。

由于路径可能只经过左子树或右子树而不经过根节点,为了求得二叉树的路径上节点值之和的最大值,需要先求出左右子树中路径节点值之和的最大值(左右子树中的路径不经过当前节点),再求出经过根节点的路径节点值之和的最大值,最后对三者进行比较得到最大值。由于需要先求出左右子树的路径节点值之和的最大值,再求根节点,这看起来就是后序遍历。

public class Test {public static void main(String[] args) {TreeNode node_9 = new TreeNode(-9);TreeNode node4 = new TreeNode(4);TreeNode node20 = new TreeNode(20);TreeNode node15 = new TreeNode(15);TreeNode node7 = new TreeNode(7);TreeNode node_3 = new TreeNode(-3);node_9.left = node4;node_9.right = node20;node20.left = node15;node20.right = node7;node15.left = node_3;int result = maxPathSum(node_9);System.out.println(result);}public static int maxPathSum(TreeNode root) {int[] maxSum = {Integer.MIN_VALUE};dfs(root, maxSum);return maxSum[0];}private static int dfs(TreeNode root, int[] maxSum) {if (root == null) {return 0;}int[] maxSumLeft = {Integer.MIN_VALUE};int left = Math.max(0, dfs(root.left, maxSumLeft));int[] maxSumRight = {Integer.MIN_VALUE};int right = Math.max(0, dfs(root.right, maxSumRight));// 先递归调用函数dfs求得左右子树的路径节点值之和的最大值maxSumLeft及maxSumRight,再求出经过当前节点root的路径的节点值之和的最大值,那么参数maxSum就是这3个值的最大值。maxSum[0] = Math.max(maxSumLeft[0], maxSumRight[0]);maxSum[0] = Math.max(maxSum[0], root.val + left + right);// 先,left代表左树,right代表右树return root.val + Math.max(left, right);// 后,是子树的行为,不是本身这个节点的行为}
}
http://www.yayakq.cn/news/943247/

相关文章:

  • 网站解析后怎么解决方法wordpress数据库数据导出
  • 琼海商城网站建设威海市文登区城乡建设局网站
  • 湖北省建设厅网站查询办公室现代简约装修效果图
  • 怎么在搜索引擎做网站登记桃源网站建设
  • 什么网站可以做投资网站 国外空间不需要icp许可证吗
  • 米课wordpress建站网站备案验证码错误
  • 网站建设朋友圈怎么写品牌建设的建议
  • 淮南市城乡建设档案馆网站双wordpress自动同步文章
  • 网站项目建设计划电商运营方案计划书
  • 长沙 外贸网站建设公司价格长沙app开发
  • 虚拟主机建设网站绑定域名wordpress生成xml地图
  • 做网站怎么选服务器wordpress 美拍插件
  • 成都专业网站制作网站苏州高端网站
  • 网站做301东铁匠营网站建设
  • 加速百度对网站文章的收录网站备案就是合法的
  • 北京响应式网站设计广东深圳公司
  • 农产品网站开发自己做的网站可以用于百度推广吗
  • 网站开发为什么需要团队完成网站做任务领q币
  • 网站建设常用的编程语言网站地图的形式
  • 企业网站做seo的优势温岭 网站建设
  • 温室网站建设滁州公司做网站
  • APP开发网站建设哪家好网站建设和维护怎么学
  • 哪些网站可以做养殖的广告太原建站的模板
  • 网络商务网站seo优化是什么意思
  • 网站域名销售公司做网站走什么费
  • 桂林技术交流站网站学什么
  • 内部网站建设计划东莞建设网站的位置
  • 石家庄百度推广家庄网站建设应急管理部
  • WordPress网站根目录有哪些营销智库网站
  • 太原网站制作哪里便宜企业推广策略