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

怎么进成品网站后台html网页开发

怎么进成品网站后台,html网页开发,网站整合建设是啥意思,成都高校网站建设服务公司谷歌#xff08;Google#xff09;面试过程的第一步#xff0c;你可能会收到一个在线评估链接。 评估有效期为 7 天#xff0c;包含两个编码问题#xff0c;需要在一小时内完成。 以下是一些供你练习的在线评估问题。 在本章结尾处#xff0c;还提供了有关 Google 面试不…谷歌Google面试过程的第一步你可能会收到一个在线评估链接。 评估有效期为 7 天包含两个编码问题需要在一小时内完成。 以下是一些供你练习的在线评估问题。 在本章结尾处还提供了有关 Google 面试不同阶段的更多详细信息。 最长同值路径 给定一个二叉树的 root 返回 最长的路径的长度 这个路径中的 每个节点具有相同值 。 这条路径可以经过也可以不经过根节点。 两个节点之间的路径长度 由它们之间的边数表示。 示例 1: 输入root [5,4,5,1,1,5] 输出2 示例 2: 输入root [1,4,5,4,4,5] 输出2 提示: 树的节点数的范围是 [0, 104]-1000 Node.val 1000树的深度将不超过 1000 思路一递归 首先我们可以使用递归来解决这个问题。具体来说对于每个节点递归计算其左右子树中与当前节点值相同的路径的长度然后返回左右子树中较长的路径长度加上当前节点的路径长度。这样就可以得到以当前节点为根节点的最长路径长度。在递归的过程中可以用一个全局变量来记录最长的路径长度。 代码示例1 class TreeNode:def __init__(self, val0, leftNone, rightNone):self.val valself.left leftself.right rightclass Solution:def longestUnivaluePath(self, root):self.max_length 0def dfs(node):if not node:return 0left_length dfs(node.left)right_length dfs(node.right)left_arrow right_arrow 0if node.left and node.left.val node.val:left_arrow left_length 1if node.right and node.right.val node.val:right_arrow right_length 1self.max_length max(self.max_length, left_arrow right_arrow)return max(left_arrow, right_arrow)dfs(root)return self.max_length# 示例 1 root1 TreeNode(5) root1.left TreeNode(4) root1.right TreeNode(5) root1.left.left TreeNode(1) root1.left.right TreeNode(1) root1.right.right TreeNode(5) print(Solution().longestUnivaluePath(root1)) # 输出2# 示例 2 root2 TreeNode(1) root2.left TreeNode(4) root2.right TreeNode(5) root2.left.left TreeNode(4) root2.left.right TreeNode(4) root2.right.right TreeNode(5) print(Solution().longestUnivaluePath(root2)) # 输出2这个解决方案使用了一个嵌套的辅助函数 dfs() 来递归地计算每个节点的最长路径长度。在递归的过程中如果当前节点的值与其左子节点值或右子节点值相等则可以从左右子树中延伸路径。然后将左右子树中较长的路径长度加上当前节点的路径长度得到以当前节点为根节点的最长路径长度并更新全局变量 max_length。 思路二深度优先搜索DFS 第二种解决这个问题的方法是使用深度优先搜索DFS但稍微修改一下递归函数的返回值。在这种方法中递归函数返回一个元组 (path_length, arrow_length)其中 path_length 表示以当前节点为根的最长路径长度而 arrow_length 表示从当前节点出发向左或向右延伸的最长箭头长度。然后通过不断更新全局变量 max_length 来计算最终的结果。 代码示例2 class TreeNode:def __init__(self, val0, leftNone, rightNone):self.val valself.left leftself.right rightclass Solution:def longestUnivaluePath(self, root):self.max_length 0def dfs(node):if not node:return 0, 0left_length, left_arrow dfs(node.left)right_length, right_arrow dfs(node.right)left_path right_path 0if node.left and node.left.val node.val:left_path left_length 1if node.right and node.right.val node.val:right_path right_length 1path_length left_path right_patharrow_length max(left_path, right_path)self.max_length max(self.max_length, path_length)return path_length, arrow_lengthdfs(root)return self.max_length# 示例 1 root1 TreeNode(5) root1.left TreeNode(4) root1.right TreeNode(5) root1.left.left TreeNode(1) root1.left.right TreeNode(1) root1.right.right TreeNode(5) print(Solution().longestUnivaluePath(root1)) # 输出2# 示例 2 root2 TreeNode(1) root2.left TreeNode(4) root2.right TreeNode(5) root2.left.left TreeNode(4) root2.left.right TreeNode(4) root2.right.right TreeNode(5) print(Solution().longestUnivaluePath(root2)) # 输出2在这个解决方案中递归函数 dfs() 返回一个元组 (path_length, arrow_length)表示以当前节点为根的最长路径长度和从当前节点向左或向右延伸的最长箭头长度。在递归的过程中通过更新全局变量 max_length 来计算最终结果。 思路三广度优先搜索BFS 第三种解题思路是使用广度优先搜索BFS通过遍历树中的每个节点来计算最长路径。在每一步中记录当前节点的值以及从根节点到该节点的路径长度。如果当前节点的值与其父节点的值相同则更新当前节点的路径长度为父节点的路径长度加1否则将当前节点的路径长度重置为1。然后根据当前节点的路径长度更新最长路径的值。这种方法遍历了树中的每个节点时间复杂度较高但在一些情况下可能是一种简单直观的解决方案。 代码示例3 class TreeNode:def __init__(self, val0, leftNone, rightNone):self.val valself.left leftself.right rightclass Solution:def longestUnivaluePath(self, root):if not root:return 0queue [(root, 1)] # 使用队列存储节点及其路径长度max_length 0while queue:node, length queue.pop(0)max_length max(max_length, length)if node.left:if node.left.val node.val:queue.append((node.left, length 1))else:queue.append((node.left, 1))if node.right:if node.right.val node.val:queue.append((node.right, length 1))else:queue.append((node.right, 1))return max_length# 示例 1 root1 TreeNode(5) root1.left TreeNode(4) root1.right TreeNode(5) root1.left.left TreeNode(1) root1.left.right TreeNode(1) root1.right.right TreeNode(5) print(Solution().longestUnivaluePath(root1)) # 输出2# 示例 2 root2 TreeNode(1) root2.left TreeNode(4) root2.right TreeNode(5) root2.left.left TreeNode(4) root2.left.right TreeNode(4) root2.right.right TreeNode(5) print(Solution().longestUnivaluePath(root2)) # 输出2这个解法利用了 BFS 遍历树的每个节点并在遍历过程中记录当前节点的值以及从根节点到该节点的路径长度。如果当前节点的值与其父节点的值相同则更新当前节点的路径长度为父节点的路径长度加1否则将当前节点的路径长度重置为1。最后根据当前节点的路径长度更新最长路径的值。
http://www.pierceye.com/news/253560/

相关文章:

  • 商业中心 网站建设怎么创建自己的官网
  • 中国建设银行总行官方网站宁波网站推广渠道
  • 网站备案的网站名称分类信息网址
  • 教育类网站建站jae安装wordpress
  • wordpress自定义站点设计网站广告语
  • 广告型网站怎么做的网络技术学习网站
  • 网站建设公司不赚钱进一步推进网站建设
  • 四川省工程建设协会网站360路由器网站建设
  • 快云服务器怎么做网站360网站收录提交入口大全
  • 网站设计的安全尺寸正规的培训行业网站开发
  • 网站提交了被收录后改怎么做商丘网站制作教程
  • 建网站被封了网站建设网页设计小江
  • 用node做的网站索引网站有哪些
  • 无锡设计网站建设时尚杂志网站设计分析
  • 嘉定区网站建设网站建设怎么谈
  • 网站开发 毕业设计如何做网站app
  • 优惠券网站开发谷歌seo搜索引擎下载
  • 安徽省建设工程资料上传网站重庆相亲网
  • 河南建设网站官网中英文公司网站
  • 手机版网站如何建设会议响应式网站开发
  • 肇庆住房建设部网站国外专门做旅游攻略的网站
  • 网站如何设置长尾词静态网站开发一体化课程
  • 学校网站建设流程做网站用哪个工具
  • 网站开发工作室策划案域名的价格
  • 郑州艾特网站建设公司互联网保险图片
  • 网站后台任务网站设计建设一般多少钱
  • 电子商务网站设计的基本流程创业商机网农村
  • 公司网站建设的费用如何入账毕节网站开发公司电话
  • 新浪推网站蜘蛛网站长工作职责
  • 百度网站排名关键词整站优化将wordpress部署