• 56. Merge Intervals


    Given a collection of intervals, merge all overlapping intervals.

    Example 1:

    Input: [[1,3],[2,6],[8,10],[15,18]]
    Output: [[1,6],[8,10],[15,18]]
    Explanation: Since intervals [1,3] and [2,6] overlaps, merge them into [1,6].
    

    Example 2:

    Input: [[1,4],[4,5]]
    Output: [[1,5]]
    Explanation: Intervals [1,4] and [4,5] are considered overlapping.

    NOTE: input types have been changed on April 15, 2019. Please reset to default code definition to get new method signature.

     1 class Solution {
     2     private class IntervalComparator implements Comparator<int[]> {
     3         public int compare(int []a, int []b) {
     4             return a[0] < b[0] ? -1 : a[0] == b[0] ? 0 : 1;
     5         }
     6     }
     7     public int[][] merge(int[][] intervals) {
     8         int m = intervals.length;
     9         Collections.sort(Arrays.asList(intervals), new IntervalComparator());
    10         LinkedList<int[]> merged = new LinkedList<>();
    11         for (int[] interval : intervals) {
    12             if (merged.isEmpty() || merged.getLast()[1] < interval[0]) {
    13                 merged.add(interval);
    14             } else {
    15                 merged.getLast()[1] = Math.max(merged.getLast()[1], interval[1]);
    16             }
    17         }
    18         return merged.toArray(new int[merged.size()][]);
    19         
    20     }
    21 }
  • 相关阅读:
    好了伤疤,忘了疼,我又崴脚了
    征途 --从 5公里 前端 开始
    MVC 感触
    2公里
    又受伤了打篮球
    Unity Lighting,lighting map,probes
    UnityPostProcessing笔记
    unity HDRP和URP
    blender2.8 import fbx armature setting
    U3D资源加载框架迭代笔记
  • 原文地址:https://www.cnblogs.com/hyxsolitude/p/12324042.html
Copyright © 2020-2023  润新知