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

做百度商桥网站友情链接价格

做百度商桥网站,友情链接价格,做网站哪家好 张家口,沈阳网站建设管理Problem: 1373. 二叉搜索子树的最大键值和 文章目录 思路解题方法复杂度Code 思路 解决这个问题的关键在于采用深度优先搜索(DFS)策略,并结合树形动态规划的思想。我们需要设计一个递归函数,它不仅能够遍历整棵树,还能…

Problem: 1373. 二叉搜索子树的最大键值和

文章目录

  • 思路
  • 解题方法
  • 复杂度
  • Code

思路

解决这个问题的关键在于采用深度优先搜索(DFS)策略,并结合树形动态规划的思想。我们需要设计一个递归函数,它不仅能够遍历整棵树,还能收集到每个子树是否为BST的信息、该子树的最大值、最小值、总和以及最重要的是,以该节点为根的BST所能得到的最大键值和。

解题方法

我提出的解题方法是通过定义一个辅助类Info,用来存储递归过程中需要传递的五个关键信息:当前子树的最大值、最小值、作为BST时的最大键值和、子树的总和以及该子树是否为BST的布尔标记。递归函数f(TreeNode x)负责计算以x为根的子树的各种信息,并返回一个Info对象。

复杂度

时间复杂度:

O ( n ) O(n) O(n),每个节点被访问一次,其中n是树中的节点数。

空间复杂度:

O ( n ) O(n) O(n),递归调用栈的深度在最坏情况下会达到树的高度,即n(对于极端不平衡的树),但平均情况下要小得多。

Code

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public class Info{public int max;public int min;public int maxBstSum;public int sum;public boolean isBst;public Info(int max, int min, int maxBstSum, int sum, boolean isBst) {this.max = max;this.min = min;this.maxBstSum = maxBstSum;this.sum = sum;this.isBst = isBst;}}public int maxSumBST(TreeNode root) {return f(root).maxBstSum;}public Info f(TreeNode x) {if(x == null) {return new Info(Integer.MIN_VALUE, Integer.MAX_VALUE, 0, 0, true);}Info infol = f(x.left);Info infor = f(x.right);int max = Math.max(x.val, Math.max(infol.max, infor.max));int min = Math.min(x.val, Math.min(infol.min, infor.min));int sum = infol.sum + infor.sum +x.val;boolean isBst = infol.isBst && infor.isBst && infol.max < x.val && x.val < infor.min;int maxBstSum = Math.max(infol.maxBstSum, infor.maxBstSum);if(isBst) {maxBstSum = Math.max(maxBstSum, sum);}return new Info(max, min, maxBstSum, sum, isBst);}
}
http://www.hrbkazy.com/news/45282.html

相关文章:

  • 狮山建网站长沙本地推广
  • 免费做网站整站seo排名外包
  • 网站规划建设书如何优化网络延迟
  • 深圳市做网站知名公司百度游戏中心app
  • 外贸专业网站ui培训
  • 青山别墅网页制作教程潍坊seo按天收费
  • 怎么看网站什么时候做的百度认证是什么
  • 漳州做网站公司百度竞价排名公式
  • wordpress机构主页优化网站最好的刷排名软件
  • 免费化工网站建设口碑营销的定义
  • html5网站开发环境网络推广员是干嘛的
  • 苏州专业网站建设设计公司seo关键词排名优化是什么
  • asp.net网站开发框架长沙建设网站制作
  • 一键转发软件批发商城德阳网站seo
  • php动态网站开发教程知名网络软文推广平台
  • 网络营销中自建网站北京seo供应商
  • 深圳网站维护服务的公司网络平台推广具体是怎么推广
  • 巴西有做amazon网站吗海阳seo排名优化培训
  • 南昌做购物网站的公司百度推广官网电话
  • tech域名可以做网站吗网址导航怎样推广
  • 基于h5的个人网站建设合肥网络推广营销
  • 做公众号和网站一样吗做推广哪个平台好
  • 网站系统应怎么做会计分录大丰seo排名
  • seo诊断报告怎么写网站排名优化培训
  • 无实体店营业执照申请哈尔滨网络seo公司
  • 网站建设整合营销淘宝代运营
  • 扬州建网站网站建设网络营销
  • wordpress文章加背景颜色山西seo排名厂家
  • 南宁建设厅网站平台营销
  • 共青团智慧团建登录网站搜索关键词排名推广