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

力扣热门100题之合并区间

这题核心就两步:先按起点排序 → 再逐个合并重叠区间
思路
1. 按每个区间的左端点从小到大排序
2. 用一个列表保存结果
3. 遍历每个区间:
◦ 如果结果为空,直接加入
◦ 否则看当前区间起点 ≤ 最后一个区间终点 → 重叠,合并
◦ 不重叠就直接加入

完整代码实现:

class Solution { public int[][] merge(int[][] intervals) { // 边界:空数组 if (intervals == null || intervals.length == 0) { return new int[0][]; } // 1. 按区间的起点(第一个数)升序排序 Arrays.sort(intervals, (a, b) -> a[0] - b[0]); // 保存最终合并后的区间 List<int[]> res = new ArrayList<>(); // 先把第一个区间加进去 res.add(intervals[0]); // 2. 从第二个区间开始遍历 for(int i = 1;i<intervals.length;i++){ // 当前要处理的区间 int[] curr = intervals[i]; // 结果中最后一个已经合并的区间 int[] last = res.get(res.size() - 1); // 当前区间起点 <= 最后区间终点 → 重叠,需要合并 if(curr[0] <= last[1]){ // 合并:起点不变,终点取两者最大值 last[1] = Math.max(curr[1],last[1]); }else{ res.add(curr); } } // 把 List 转成 int[][] 返回 return res.toArray(new int[res.size()][]); } }

超级好记口诀

先按起点排个序,后一起点 ≤ 前终点就合并,合并只改终点取最大,不重叠就直接加。

http://www.jsqmd.com/news/594421/

相关文章:

  • 【kv存储】为什么在kv存储项目中需要自定义 kvs_malloc 而非系统 malloc
  • 2025-2026年国内充电桩加盟品牌推荐:TOP5口碑服务评测对比领先 - 品牌推荐
  • SEO 究竟是什么_外链对SEO重要吗_如何建设外链
  • 物联网与ISA-95框架:如何通过标准化实现工业数字化转型
  • 一文详解RPC,深入浅出从原理到主流框架
  • C++/C方向面试题/概念知识点复习汇总(持续更新)
  • SEO_资深运营揭秘:真正有效的SEO技巧有哪些
  • Harness Engineering 实战指南(非常详细),AI 写代码从入门到精通,收藏这一篇就够了!
  • 2026年4月区块链平台测评:数字资产合规流通五大靠谱选择综合调研推荐 - 品牌推荐
  • 补题记录2
  • ESPectro:面向IoT的ESP8266硬件抽象库设计与实践
  • Facebook短剧出海攻略
  • 【PAT甲级真题】- Talent and Virtue (25)
  • 半导体盛会哪家好?2026年度主流芯坛半导体盛会 - 品牌2026
  • 2026年计算机科学论文降AI工具推荐:代码注释和算法描述部分如何降
  • 半导体行业展会推荐:汇聚高规格半导体展会搭建产业交流合作平台 - 品牌2026
  • 5分钟充电500公里?更像为炒作噱头,实现并不容易!大城市建设可能被消防限制!
  • 代码写不动了?传统程序员不转型AI工程化提示词专家,将被AI助手彻底平替
  • 手把手拆解ST FOC库:Circle Limitation的查表法实现与优化技巧
  • 人到中年,生日收到这三条短信,我读了很久
  • 模型轻量化实践:在4GB内存设备运行OpenClaw+Phi-3-vision
  • 半导体全产业链展会哪家好?2026 年半导体优选行业盛会推荐 - 品牌2026
  • 省考面试必看!初心教育不玩虚的,真实口碑+实战演练,上岸更稳
  • 西交提出 OdysseyArena:让智能体真正“学会探索”的长程归纳推理基准
  • 12 3456(2)
  • 内存市场为何迅速崩盘?实在是个人市场变化太快了,美韩芯片图谋破裂了
  • 实测对比:ChatGPT、Gemini、Grok、Claude 在四个开发任务中的表现差异
  • 白嫖DeepSeek、GLM、MiniMax、Kimi等大模型,每天 1亿 Token 免费领!
  • JavaScript 解构赋值
  • STM32 定时器与 PWM 输出:电机调速、LED 呼吸灯实战