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

宿迁网站推广长沙建网站公司

宿迁网站推广,长沙建网站公司,网站建设平台的分析,常州网站推广优化二叉搜索树的最小绝对差 关键信息#xff1a;二叉搜索树表明了树有序的#xff01;遇到在二叉搜索树上求什么最值啊#xff0c;差值之类的#xff0c;就把它想成在一个有序数组上求最值#xff0c;求差值 # Definition for a binary tree node. # class TreeNode: # …二叉搜索树的最小绝对差 关键信息二叉搜索树表明了树有序的遇到在二叉搜索树上求什么最值啊差值之类的就把它想成在一个有序数组上求最值求差值 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def getMinimumDifference(self, root: Optional[TreeNode]) - int:# 使用迭代法if not root:return stack []result []while root or stack:if root:stack.append(root)root root.leftelse:node stack.pop(-1)result.append(node.val)root node.rightif len(result) 2:return res result[1] - result[0]for i in range(2, len(result)):res min(res, result[i] - result[i - 1])return res# 使用递归来做def getMinimumDifference(self, root: Optional[TreeNode]) - int:result self.getMinimumDifference1(root)min_res result[1] - result[0]for i in range(2,len(result)):min_res min(min_res, result[i] - result[i -1])return min_resdef getMinimumDifference1(self, root: Optional[TreeNode]) - int:if not root:return []left self.getMinimumDifference1(root.left) # 左right self.getMinimumDifference1(root.right) # 右return left [root.val] right # 左加中加右 或者更加简洁一点的方法 501. 二叉搜索树中的众数 思路求众数首先先到的是HashMap也就是字典或者利用二叉搜索树是有序的特点存在字典中 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def __init__(self):self.dict_1 {}self.max float(-inf)def findMode(self, root: Optional[TreeNode]) - List[int]:self.findMode1(root)print(self.dict_1,self.max)result []for i,k in self.dict_1.items():if k self.max:result.append(i)return resultdef findMode1(self, root: Optional[TreeNode]):if not root:return if root.val in self.dict_1:self.dict_1[root.val] 1else:self.dict_1[root.val] 1if self.dict_1[root.val] self.max:self.max self.dict_1[root.val]self.findMode1(root.left)self.findMode1(root.right) 236. 二叉树的最近公共祖先 难点出于惯性的思维我们都是从上往下遍历的而这道题需要我们从下往上遍历的需要用到后续遍历然后节点进行回溯一步一步往上传递 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val x # self.left None # self.right Noneclass Solution:def lowestCommonAncestor(self, root: TreeNode, p: TreeNode, q: TreeNode) - TreeNode:# 使用后续遍历的方法可以从下往上进行处理!递归结束条件if root is None or root p or root q:return rootleft self.lowestCommonAncestor(root.left, p , q) # 左right self.lowestCommonAncestor(root.right, p , q) # 右# 中的处理逻辑根据左右的结果判断这个后续遍历就很重要了if left and right:return rootelif not left and right:return rightelif left and not right:return leftelse:return None #都没有出现p或q的情况的返回给上一层的内容 或者精简版 class Solution:def lowestCommonAncestor(self, root, p, q):if root q or root p or root is None:return rootleft self.lowestCommonAncestor(root.left, p, q)right self.lowestCommonAncestor(root.right, p, q)if left is not None and right is not None:return rootif left is None:return rightreturn left , p, q)if left is not None and right is not None:return rootif left is None:return rightreturn left
http://www.yutouwan.com/news/413803/

相关文章:

  • 丹阳网站建设价格wordpress 招聘 插件
  • 什么是门户网站建设平台张家口高新区做网站
  • 合肥网站建设 k专业pc网站建设服务
  • 网站实名制认证备案网站做图片
  • 南昌手机网站建设广西壮族自治区省长
  • 网站二级域名怎么做广告公司宣传册
  • 网站建设哪里去学网站建设突出特色
  • 做网站用什么服务器比较好政协网站 是政协信息化建设
  • 2个网站做的链接怎么用一个域名顺义电大网上作业在那个网站做
  • 用腾讯云做购物网站视频长沙铭万做网站
  • 旅游网站制作代码网站备案后可以改名吗
  • 网站被k网站cron
  • 哪个网站可以做付邮免费送活动北京市住房城乡建设厅网站首页
  • 长沙建设公司网站单位宣传册设计样本
  • 网站建设北京海淀seo培训费用
  • 易企网络网站建设淘宝网站备案
  • 国外优秀设计公司网站做一个商城网站需要什么流程
  • 网站建设首选玖艺建站信得过海口网站建设是什么意思
  • 威海房地产网站建设外贸建站选择哪个服务器好
  • 大型门户网站开发费用网站建设 教程
  • 网站建设做网站怎么做网站免费制作
  • 威海网站优化公司丁香园做科室网站
  • 做网站需要什么内容灌云县建设局网站
  • 建网360 网站建设贵州网站开发公司
  • 网站运营的含义是什么做阿里云网站的公司吗
  • Wordpress装好只能访问wordpress优化指南
  • 建设银行如何网站设置密码怎样做才能让网站有排名
  • 怎么设计一个自己的网站纯静态网站索引怎么做
  • 上海企业网站建设公网址大全查询ip地址
  • 公司网站备案选个人wordpress在vps上安装