56. 合并区间

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

示例 1:
输入:intervals = [[1,3],[2,6],[8,10],[15,18]]
输出:[[1,6],[8,10],[15,18]]
解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].

示例 2:
输入:intervals = [[1,4],[4,5]]
输出:[[1,5]]
解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。

class Solution {
    public int[][] merge(int[][] intervals) {
        Arrays.sort(intervals ,(v1, v2) -> v1[0] - v2[0]);
        
        int idx = -1;
        int[][] res = new int[intervals.length][2];
        
        for(int[] interval : intervals) {
            if(idx == -1 || interval[0] > res[idx][1]) {
                res[++idx] = interval;
            } else {
                res[idx][1] = Math.max(interval[1], res[idx][1]);
            }
        }

        return Arrays.copyOf(res, idx + 1);
    }
}

相关推荐

  1. LeetCode 56 合并区间

    2024-07-12 11:48:04       55 阅读
  2. LeetCode56.合并区间

    2024-07-12 11:48:04       44 阅读
  3. Leetcode56_合并区间

    2024-07-12 11:48:04       35 阅读
  4. leetcode56--合并区间

    2024-07-12 11:48:04       17 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 11:48:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 11:48:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 11:48:04       58 阅读
  4. Python语言-面向对象

    2024-07-12 11:48:04       69 阅读

热门阅读

  1. IOS热门面试题一

    2024-07-12 11:48:04       23 阅读
  2. IOS热门面试题二

    2024-07-12 11:48:04       20 阅读
  3. Flink 任务启动常用命令

    2024-07-12 11:48:04       23 阅读
  4. 【Linux Git入门】Git的介绍

    2024-07-12 11:48:04       22 阅读
  5. 【git命令大全】

    2024-07-12 11:48:04       24 阅读
  6. 代付是什么意思呢

    2024-07-12 11:48:04       23 阅读
  7. 初阶数据结构(顺序表的实现)

    2024-07-12 11:48:04       25 阅读
  8. 一键优雅为Ubuntu20.04服务器挂载新磁盘

    2024-07-12 11:48:04       18 阅读
  9. ubuntu22.04 编译freetype动态库

    2024-07-12 11:48:04       22 阅读
  10. Uniapp 使用 Leaflet

    2024-07-12 11:48:04       26 阅读
  11. 使用Python绘制旭日图

    2024-07-12 11:48:04       23 阅读