网站建设流程建设网站制作

武汉古倪环保科有限公司 2026/09/09 19:49:33

day01

1.二叉树的最近公共祖先

算法思想:递归+回溯。首先先使用先序遍历,遍历二叉树,在遍历的过程中,还需要保存节点的父节点val值,将遍历节点的val当作key,将父节点的val当作value存入一个Map集合,然后从需要查找最近公共祖先的两个节点中的某一个节点出发,回溯他的父节点,并将回溯路径存入Set集合,回溯完成后,从另一个节点回溯,如果回溯的过程中,某一个节点在set集合出现,那么该节点就是最近的公共祖先,否则为空。

代码如下:

class Solution { Map<Integer, TreeNode> parent = new HashMap<Integer, TreeNode>(); Set<Integer> visited = new HashSet<Integer>(); public void dfs(TreeNode root) { if (root.left != null) { parent.put(root.left.val, root); dfs(root.left); } if (root.right != null) { parent.put(root.right.val, root); dfs(root.right); } } public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { dfs(root); while (p != null) { visited.add(p.val); p = parent.get(p.val); } while (q != null) { if (visited.contains(q.val)) { return q; } q = parent.get(q.val); } return null; } } class TreeNode{ int val; TreeNode left; TreeNode right; TreeNode(int x){ val = x; } }

2.每日温度

算法思想:定义一个栈,栈中存储未找到下一个更大温度的日期索引;遍历每个日期的温度,对当前遍历的日期索引:

  1. 若栈不为空,且当前日期的温度 > 栈顶索引对应的温度,则循环弹出栈顶索引:
    • 计算 “当前索引 - 栈顶索引”(即栈顶索引对应的日期,需要等待的天数);
    • 将该天数存入 ans 数组中与栈顶索引对应的位置;
  2. 重复步骤 1,直到栈为空,或当前日期的温度 ≤ 栈顶索引对应的温度;
  3. 将当前日期的索引压入栈中;遍历结束后,ans 数组中未被赋值的位置(无更大温度的日期)默认值为 0,直接返回 ans 数组。
    class Solution { public int[] dailyTemperatures(int[] temperatures) { int length = temperatures.length; int[] ans = new int[length]; Deque<Integer> stack = new LinkedList<Integer>(); for (int i = 0; i < length; i++) { int temperature = temperatures[i]; while (!stack.isEmpty() && temperature > temperatures[stack.peek()]) { int prevIndex = stack.pop(); ans[prevIndex] = i - prevIndex; } stack.push(i); } return ans; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

app网站建设东莞南城网站建设

AWK实用程序与脚本编程指南在AWK编程中,有许多实用的程序和脚本技巧,能够帮助我们更高效地处理数据、生成报告以及进行文件操作。下面将介绍一些常见的应用场景及对应的实现方法。1. 字符处理函数的改进最

2026/06/30 13:55:08

建设部网站哈尔滨网站建设

Linux系统管理与配置全解析1. 系统基础配置1.1 网络配置网络配置在Linux系统中至关重要,涉及多个配置文件和命令。以下是主要的网络配置文件及其作用:| 配置文件 | 作用 || — | —

2026/06/30 12:56:03

宁波网站建设网站建设知识

C#项目中引入Seed-Coder-8B-Base进行智能代码补全实战在现代软件开发节奏日益加快的背景下,C#开发者面对的不仅是业务逻辑复杂度的提升,还有对编码效率与质量的

2026/06/30 13:32:06

网站建设 北京建设集团网站

目录介绍类型selectpollepoll介绍什么是IO多路复用?IO多路复用是一种高效的IO处理技术,它允许单个线程同时监控多个文件描述符(如网络连接、文件

2026/06/30 13:44:37

上海网站建设中国建设银行网站

Qwen3Guard-Gen-8B与OrientDB图数据库整合:关系网络分析在当今AI内容爆发式增长的背景下,社交平台、智能客服和在线教育等高交互系统正面临前所未有的安全

2026/06/30 14:18:39

营销网站建设衡水网站建设

LFM2-350M-ENJP-MT模型的问世,标志着轻量级大语言模型在专业翻译领域实现重大突破——以仅3.5亿参数的规模,达成可媲美10倍体量模型的英日双向翻译质量

2026/06/30 12:10:29

泰安网站建设网站建设电话

解放双手!Gitnuro跨平台Git客户端让你的版本控制变得如此简单【免费下载链接】GitnuroA FOSS Git multiplatform client for newbies

2026/06/30 10:50:23

珠海网站建设网站建设广告

高效语音克隆工具推荐:GPT-SoVITS vs 其他TTS对比在短视频、播客和虚拟数字人内容爆发的今天,个性化语音合成正从“能说”走向“像你”。想象一下,只

2026/06/30 10:51:22

网站建设学习诸城网站建设

Admin.NET企业级权限框架:一站式智能管理平台构建指南【免费下载链接】Admin.NET🔥基于 .NET 6/8 (Furion/SqlSugar) 实现的通用权限

2026/06/30 11:11:54

青岛网站建设浙江省建设厅网站

Anaconda 修改默认环境路径的实践与思考在深度学习项目开发中,你是否曾遇到这样的窘境:系统盘空间突然告急,排查发现~/anaconda3/envs/下堆

2026/06/30 10:28:20