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

算法-合并区间

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。

输入:intervals = [[1,3],[2,6],[8,10],[15,18]]
输出:[[1,6],[8,10],[15,18]]
解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
输入:intervals = [[1,4],[4,5]]
输出:[[1,5]]
解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。

代码实现:

class Solution {public int[][] merge(int[][] intervals) {// 排序Arrays.sort(intervals, new Comparator<int[]>() {public int compare(int[] arr1, int[] arr2) {return arr1[0] - arr2[0];}});// 对于 2L 1R 大小关系List<int[]> list = new ArrayList<>();for (int i = 0; i < intervals.length; i++) {int[] cur = intervals[i];if (list.isEmpty()) {list.add(cur);} else if (cur[0] <= list.get(list.size() - 1)[1]) {list.get(list.size() - 1)[1] = Math.max(cur[1], list.get(list.size() - 1)[1]);} else {list.add(cur);}}return list.toArray(new int[list.size()][]);}
}

原题链接:力扣

视频讲解链接:合并区间_哔哩哔哩_bilibili

http://www.lryc.cn/news/112609.html

相关文章:

  • 布基纳法索ECTN(BESC)申请流程
  • CDN安全面临的问题及防御架构
  • 【MySQL】MySQL管理 (十四)
  • Mybatis:一对一查询映射处理
  • 九、用 ChatGPT 提高算法和编程能力
  • 【数模】主成分分析PCA
  • 全志F1C200S嵌入式驱动开发(从DDR中截取内存)
  • C++中点云聚类算法的实现与应用探索
  • 大数据Flink(五十六):Standalone伪分布环境(开发测试)
  • Godot 4 源码分析 - 碰撞
  • 前端面试经典算法题
  • ospf减少LSA更新
  • 万字长文解析深度学习中的术语
  • 冠达管理投资前瞻:三星加码机器人领域 大信创建设提速
  • 24届近5年上海交通大学自动化考研院校分析
  • 【PDF密码】PDF文件不能打印,为什么?
  • LeetCode-Java(03)
  • 【Linux命令行与Shell脚本编程】第十六章 Shell函数
  • SpringCloud-Hystrix服务熔断与降级工作原理源码 | 京东物流技术团队
  • (一)react脚手架
  • Typescript中的元组与数组的区别
  • SpringBoot的index首页的访问、自定义Favicon图标
  • 【C++】C++文件操作-文本文件/二进制文件
  • java通过http网络url下载文件
  • 网络安全【黑客】自学
  • PCA和自动编码器:每个人都能理解的算法
  • C++——STL容器【priority_queue】模拟实现
  • SpringBoot实现文件记录日志,日志文件自动归档和压缩
  • MySQL 窗口函数
  • 0140 数据链路层2