码迷,mamicode.com
首页 > 其他好文 > 详细

56. Merge Intervals

时间:2020-02-17 22:31:56      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:linked   cti   exp   ase   tor   efi   lap   nbsp   com   

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 }

 

56. Merge Intervals

标签:linked   cti   exp   ase   tor   efi   lap   nbsp   com   

原文地址:https://www.cnblogs.com/hyxsolitude/p/12324042.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!