Java算法每日一题 📅 发布时间:2026/7/15 6:48:13 👁️ 浏览次数: 题目描述将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例输入l1 [1,2,4], l2 [1,3,4]输出[1,1,2,3,4,4]解题思路递归法比较两个链表的头节点取较小的节点作为当前节点然后递归合并剩余节点迭代法推荐用虚拟头节点简化边界处理遍历两个链表依次拼接较小的节点。Java 代码迭代法// 定义链表节点 class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val val; } ListNode(int val, ListNode next) { this.val val; this.next next; } } public class MergeTwoLists { public ListNode mergeTwoLists(ListNode list1, ListNode list2) { // 虚拟头节点简化链表拼接 ListNode dummy new ListNode(-1); ListNode curr dummy; // 遍历两个链表直到其中一个为空 while (list1 ! null list2 ! null) { if (list1.val list2.val) { curr.next list1; list1 list1.next; } else { curr.next list2; list2 list2.next; } curr curr.next; } // 拼接剩余的节点其中一个链表可能还有未遍历的节点 curr.next list1 null ? list2 : list1; return dummy.next; } // 测试用例打印链表 public static void printList(ListNode head) { while (head ! null) { System.out.print(head.val ); head head.next; } } public static void main(String[] args) { // 构建链表1: 1-2-4 ListNode l1 new ListNode(1, new ListNode(2, new ListNode(4))); // 构建链表2: 1-3-4 ListNode l2 new ListNode(1, new ListNode(3, new ListNode(4))); MergeTwoLists solution new MergeTwoLists(); ListNode result solution.mergeTwoLists(l1, l2); // 输出1 1 2 3 4 4 printList(result); } }答案解析虚拟头节点dummy的作用避免处理 “头节点为空” 的边界情况时间复杂度O (mn)m、n 为两个链表长度空间复杂度O (1)。
《CF708E Student‘s Camp》 题目描述 Alex 学习刻苦,赢得了前往位于海边的学生营地 Alushta 的旅行机会。 不幸的是,现在正值大风期,营地有可能被毁坏!营地建筑可以看作是由 n2 层高、m 列宽的混凝土块组成的矩形。 每天都有来自海上的微风。每一块&#… 2026/7/10 7:05:43
西门子数控6FC5373-0AA00-0AA2模块故障代码维修 6FC5373-0AA00-0AA2 是西门子 840D sl 的 NCU 730.2 核心模块,故障主要通过数码管、指示灯、系统报警三类信息定位,下面给你完整的故障代码、现象、原因与维修方案。一、模块基础与状态识别1. 型号与定位型号:6FC5373-0AA00-0AA2名称… 2026/7/13 19:56:10
Diablo Edit2:重新定义暗黑破坏神2的角色构建体验 Diablo Edit2:重新定义暗黑破坏神2的角色构建体验 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 你是否曾为暗黑破坏神2中某个build的失败而感到沮丧?是否因为技能点分配不… 2026/7/15 6:45:44
基于深度学习的端到端声音事件检测与定位系统实战 最近在开发智能家居或安防系统时,很多开发者会遇到一个看似简单却颇为棘手的问题:如何准确识别和定位特定声音事件,比如房间里的"跺脚声"?传统的解决方案要么成本高昂,要么准确率不尽如人意。本文将深入探讨… 2026/7/15 6:43:43
Python字符串格式化全解析:从%占位符到f-string的演进与实战 1. Python字符串格式化的前世今生 第一次接触Python字符串格式化时,我被各种百分号和花括号搞得晕头转向。后来在实际项目中踩过不少坑才明白,Python的字符串格式化其实经历了三个重要的演进阶段:从最早的%操作符,到更灵活的forma… 2026/7/15 6:39:42
[AI] 这周最值得继续追的 3 个 AI / Dify 热点,到底哪一个最可能先落地? 这段时间 AI 相关信息实在太多了。 每天打开资讯流,你都会看到类似内容: 新模型发布了 智能体又火了 工作流自动化又出了新玩法 企业助手、知识库、周报生成、评审助手、内部 AI 平台,几乎每个方向都有人在做 问题是: 大多数团队根本没有精力把所有热点都跟一遍。 所以真正… 2026/7/15 6:35:40
[Dify实战] 为什么很多团队不是不会做 AI,而是没有先搭好可复用的 Dify 入口层? 很多团队做 AI 项目时,表面上看卡在“模型不够强”“提示词效果不稳定”“工作流总要返工”,但如果把项目过程拆开看,你会发现真正的问题,往往不是不会做,而是从一开始就没有把“入口层”搭好。 这里说的入口层,不是一个登录页,也不是一个表单页,而是“业务需求进入 A… 2026/7/15 6:35:40
caffeine缓存+rpc+notify清空缓存技术 大型跨服游戏中,经常是需要读取远程服务器上的数据,但是又不想每次RPC,此时就可以用到这种技术。 2026/7/15 6:35:40
行星减速机的工作原理是什么?从齿轮运动关系到减速比计算 一、行星齿轮机构的组成 标准行星齿轮机构主要包括: 太阳轮; 行星轮; 内齿圈; 行星架。 太阳轮位于机构中心。 多个行星轮围绕太阳轮均匀布置,行星轮内侧与太阳轮外啮合,外侧与内齿圈内啮合。 行星轮通过轴… 2026/7/15 0:03:00
阅读Java开源框架源码的心得分享! 前几日闲来无事有幸看到了一位博主分享自己阅读开源框架源码的心得,看了之后也引发了我的一些深度思考。我们为什么要看源码?我们该怎么样去看源码? 其中前者那位博主描述的我觉得很全了(如下图所示),就不做… 2026/7/15 0:03:00
【LINUX】驱动 【LINUX驱动】【字符设备】【中断】【Platform】【网课 设备树】【GPIO】【PINCTRL】【INPUT】【IIC】【SPI】【网络驱动】【屏幕驱动】【一 设备树】【二 内核模块编译】【三 基本驱动框架】【四 Platform总线设备驱动框架】【五 驱动子系统】【六 综合】 2026/7/15 0:07:01
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/13 8:31:55
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/14 18:25:04
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/14 5:09:41