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

django做网站好吗推广代运营公司

django做网站好吗,推广代运营公司,有视频做的很好的网站吗,桂林北站到象鼻山多远20 654. 最大二叉树 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回 n…

20

654. 最大二叉树

给定一个不重复的整数数组 nums最大二叉树 可以用下面的算法从 nums 递归地构建:

  1. 创建一个根节点,其值为 nums 中的最大值。
  2. 递归地在最大值 左边子数组前缀上 构建左子树。
  3. 递归地在最大值 右边子数组后缀上 构建右子树。

返回 nums 构建的 *最大二叉树*

思路

  1. 递归就行了

注意:

一般递归中,可以不用传数组就不传数组,传索引下标记就行了

这里寻找最大值没有优化,但是应该是可以的

代码实现
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def constructMaximumBinaryTree(self, nums: List[int]) -> Optional[TreeNode]:def tranversal(left_index: int, right_index: int) -> TreeNode:#1.寻找构建数组的最大值,以及对应的索引,不变量,左闭右开#2.递归#3.终止条件if left_index == right_index:returnmax_value = -float('inf')max_index = left_indexfor i in range(left_index, right_index):if nums[i] > max_value:max_value = nums[i]max_index = i node = TreeNode(max_value)# print(left_index, right_index, max_index, max_value)node.left = tranversal(left_index, max_index)node.right = tranversal(max_index + 1, right_index)return nodereturn tranversal(0, len(nums))

还有单调栈的实现,后续可以看下

617. 合并二叉树

给你两棵二叉树: root1root2

想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。

返回合并后的二叉树。

注意: 合并过程必须从两个树的根节点开始。

经典递归咯

代码实现
class Solution:def mergeTrees(self, root1: Optional[TreeNode], root2: Optional[TreeNode]) -> Optional[TreeNode]:if not root1 and not root2:returnif not root1:return root2if not root2:return root1new_root = TreeNode(root1.val + root2.val)new_root.left = self.mergeTrees(root1.left, root2.left)new_root.right = self.mergeTrees(root1.right, root2.right)return new_root

700. 二叉搜索树中的搜索

给定二叉搜索树(BST)的根节点 root 和一个整数值 val

你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null

代码实现

递归

#         self.right = right
class Solution:def searchBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:#明确二叉搜索树的定义,左小右大, 中序遍历为升序排列if not root or root.val == val:return rootif val > root.val:return self.searchBST(root.right, val)if val < root.val:return self.searchBST(root.left, val)

迭代

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def searchBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:# #明确二叉搜索树的定义,左小右大, 中序遍历为升序排列# if not root or root.val == val:#     return root# if val > root.val:#     return self.searchBST(root.right, val)# if val < root.val:#     return self.searchBST(root.left, val)# 中序遍历# if not root:return# stack = []# while stack or root:#     while root:#         stack.append(root)#         root = root.left#     root = stack.pop()#     if root.val == val:#         return root #     root = root.right# return rootwhile root:if root.val > val:root = root.leftelif root.val < val:root = root.rightelse:return rootreturn 

98. 验证二叉搜索树

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。

有效 二叉搜索树定义如下:

  • 节点的左

    子树

    只包含

    小于

    当前节点的数。

  • 节点的右子树只包含 大于 当前节点的数。

  • 所有左子树和右子树自身必须也是二叉搜索树。

思路:

遇到二叉搜索树,一定要考虑到中序遍历

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:max_value = -float('inf')def isValidBST(self, root: Optional[TreeNode]) -> bool:#中序遍历,维护一个最大值的变量,遍历的时候判断,root.val和max_value的da'xiaoif not root:return Trueleft = self.isValidBST(root.left)if not left or root.val <= self.max_value:return Falseself.max_value = root.valright = self.isValidBST(root.right)return right
http://www.yidumall.com/news/19086.html

相关文章:

  • 人力资源公司属于什么行业类别seo单页快速排名
  • 中英双语营销型网站seo优化软件免费
  • 自己做商务网站有什么利弊打开一个网站
  • 政府网站怎么做中国刚刚发生8件大事
  • 做视频网站可行吗百度seo优化培训
  • 排行网站模板百度推广找谁
  • 简述网站开发的步骤哪些平台可以做推广
  • 海南最新消息自己怎么做网站优化
  • 北京装修价格郑州网站seo技术
  • 导购个人网站怎么做的搜狗网站提交入口
  • 如何设计大型电商网站建设怎么知道自己的域名
  • 外贸网站建设 蚂蚁 深圳店铺运营方案策划
  • 网站cms在线识别一键优化表格
  • 珠海互联网公司有哪些河北百度seo软件
  • 公司网站建设需要显示什么百度推广关键词价格查询
  • 长春高端模板建站深圳网络推广代理
  • wordpress固定链接显示404sem和seo的区别
  • 怎么用上线了做网站正版seo搜索引擎
  • 淘宝网站怎么做网站商品推广软文写作500字
  • html css网站开发模板网站seo属于什么专业
  • 用旧手机做网站企业微信会话内容存档
  • 网页浏览器主要通过ftp协议同网页服务器谷歌优化工具
  • 招聘网站咋做seo分析报告怎么写
  • 网站底部留言代码关键词优化的最佳方法
  • 在相亲网站认识了一个做红酒生意的关键词搜索推广排行榜
  • 北辰做网站seo优化方案报价
  • wordpress 测试网站seo优化啥意思
  • 网站建设综合技能实训中国品牌策划公司排名
  • 如何做网页推广如何做网页江苏seo哪家好
  • 做网站建设的电销郑州网站优化seo