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

企业怎么做自己的网站做ppt到哪个网站找图片

企业怎么做自己的网站,做ppt到哪个网站找图片,南宁网页搭建软件,网站建设需要度搜去更新时间:2025-04-04 算法题解目录汇总:算法刷题记录——题解目录汇总技术博客总目录:计算机技术系列博客——目录页 优先整理热门100及面试150,不定期持续更新,欢迎关注! 124. 二叉树中的最大路径和 二…

更新时间:2025-04-04

  • 算法题解目录汇总:算法刷题记录——题解目录汇总
  • 技术博客总目录:计算机技术系列博客——目录页

优先整理热门100及面试150,不定期持续更新,欢迎关注!


124. 二叉树中的最大路径和

二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。
路径和 是路径中各节点值的总和。
给你一个二叉树的根节点 root ,返回其 最大路径和

示例 1:

输入:root = [1,2,3]
输出:6

解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6

示例 2:

输入:root = [-10,9,20,null,null,15,7]
输出:42

解释:最优路径是 15 -> 20 -> 7 ,路径和为 15 + 20 + 7 = 42

提示:

  • 树中节点数目范围是 [1, 3*10^4]
  • -1000 <= Node.val <= 1000

方法:递归法(后序遍历)

通过后序遍历计算每个节点的最大贡献值,并更新全局最大路径和。

  • 每个节点计算其左右子树的最大贡献值(若贡献为负则取0)。
  • 当前节点的总路径和为 自身值 + 左贡献 + 右贡献,更新全局最大值。
  • 返回当前节点能为父节点提供的单边最大贡献(即 自身值 + max(左贡献, 右贡献))。

代码实现(Java):

class Solution {private int maxSum = Integer.MIN_VALUE;public int maxPathSum(TreeNode root) {maxGain(root);return maxSum;}private int maxGain(TreeNode node) {if (node == null) return 0;// 计算左右子树的贡献值,负数则舍弃int leftGain = Math.max(maxGain(node.left), 0);int rightGain = Math.max(maxGain(node.right), 0);// 当前节点作为路径中间节点的总路径和int currentPathSum = node.val + leftGain + rightGain;maxSum = Math.max(maxSum, currentPathSum);// 返回当前节点能提供的最大单边贡献(给父节点使用)return node.val + Math.max(leftGain, rightGain);}
}

复杂度分析

  • 时间复杂度:O(n),所有节点仅访问一次。
  • 空间复杂度:O(h),递归栈深度(h为树的高度,最坏情况下为O(n))。

128. 最长连续序列

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。

请你设计并实现时间复杂度为 O(n) 的算法解决此问题。

示例 1:

输入:nums = [100,4,200,1,3,2]
输出:4

解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。

示例 2:

输入:nums = [0,3,7,2,5,8,4,6,0,1]
输出:9

示例 3:

输入:nums = [1,0,1,2]
输出:3

提示:

  • 0 <= nums.length <= 10^5
  • -10^9 <= nums[i] <= 10^9

方法:哈希集合优化

利用哈希集合存储所有数字,仅对可能的连续序列起点进行检查,避免重复计算。

  1. 去重存储:将所有数字存入哈希集合,去除重复。
  2. 查找起点:遍历集合中的元素,若当前数字的前驱(num-1)不在集合中,则视为序列起点。
  3. 扩展序列:从起点开始逐个查找后续数字,计算当前连续序列长度。
  4. 更新结果:记录遍历过程中的最大序列长度。

代码:

class Solution {public int longestConsecutive(int[] nums) {Set<Integer> numSet = new HashSet<>();for (int num : nums) {numSet.add(num);}int maxLength = 0;for (int num : numSet) {// 只有当num是序列起点(前驱不存在)时才处理if (!numSet.contains(num - 1)) {int currentNum = num;int currentLength = 1;// 向后扩展序列while (numSet.contains(currentNum + 1)) {currentNum++;currentLength++;}maxLength = Math.max(maxLength, currentLength);}}return maxLength;}
}

复杂度分析:

  • 时间复杂度O(n)。每个元素最多被访问两次(加入集合和扩展序列)。
  • 空间复杂度O(n)。哈希集合存储所有元素。

声明

  1. 本文版权归 CSDN 用户 Allen Wurlitzer 所有,遵循CC-BY-SA协议发布,转载请注明出处。
  2. 本文题目来源 力扣-LeetCode ,著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

文章转载自:

http://3EFfWyCQ.fyzyt.cn
http://d3C6UaPj.fyzyt.cn
http://gA5YMC9L.fyzyt.cn
http://ZOsSZAMd.fyzyt.cn
http://qWl3Yd2b.fyzyt.cn
http://K6WX8wzg.fyzyt.cn
http://dv6xshC6.fyzyt.cn
http://FBkd3QP3.fyzyt.cn
http://GOtopm1m.fyzyt.cn
http://YWlZoRUN.fyzyt.cn
http://RubTQYhd.fyzyt.cn
http://HShhklAz.fyzyt.cn
http://X2ZmzohA.fyzyt.cn
http://gCfIifjq.fyzyt.cn
http://vvFVJ3Yd.fyzyt.cn
http://fMFSsCP2.fyzyt.cn
http://AS55uown.fyzyt.cn
http://fVPCyzOt.fyzyt.cn
http://vxbDYLT1.fyzyt.cn
http://Zas3gtFK.fyzyt.cn
http://xYP9pPDT.fyzyt.cn
http://I1AkdVcB.fyzyt.cn
http://0N1Q8FfJ.fyzyt.cn
http://HGZuVA7c.fyzyt.cn
http://Ijf7qxUC.fyzyt.cn
http://RdFpWfrz.fyzyt.cn
http://2jAhOBzT.fyzyt.cn
http://TSHww04n.fyzyt.cn
http://7sM4TXuP.fyzyt.cn
http://bubg9HtB.fyzyt.cn
http://www.dtcms.com/wzjs/627941.html

相关文章:

  • 建设网站什么软件比较好wordpress建站模版
  • 做淘客网站要备案网站鼠标的各种效果怎么做的
  • 阿里云如何建设网站wordpress使用的数据库编码
  • 杭州临平网站建设wordpress切换语言包
  • 网站建设维护服务协议中国室内装饰设计网
  • 网站设计是平面设计吗网站 侧边栏
  • 乌兰浩特网站制作网络公司给我做网站我有没有源代码版权吗
  • 宁波网站建设公司比较好建设招标网官网
  • 国际贸易官方网站济南品牌网站建设介绍
  • 在线企业建站模板网站怎么做百度口碑
  • 网站怎么做qq授权登录界面重庆平台网站建设设计
  • 哈尔滨网站改版h5制作易企秀
  • 建设网站破解版wordpress不能自定义
  • 凯发网站小程序网
  • 浙江网站备案加急推广价格一般多少
  • 广州网站建设 app 小程序wordpress纯代码
  • 互联网 网站设计南联网站建设公司
  • 网站集约化建设纪要网站开发思维导图
  • 医疗网站建设中心广告学
  • 可以看网站的浏览器有哪些重庆城市建设档案馆官方网站
  • 源代码网站开发全市网站建设情况摸底调查
  • 做平面设计必看的网站网站建设礼品
  • 做壁画的网站wordpress 多商户
  • 网站建设及管理制度文章app网站搭建
  • 沂水网站建设如何跳过网站会员
  • 网站后天添加文章不显示加强网站信息建设方案
  • 免费推广网站排行榜长沙做公司网站
  • 网站建设案例查询成都高端网站设计
  • dreamwearver怎么做静态网站广告设计公司排行
  • 北京好的网站开发广告设计哪里可以学