56. Merge Interval

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.

Thoughts:

  1. Sort the interval list according the start point

  2. record end, for loop check whether the current interval's start time is after the record end; if it is, merge the interval by maxing the end time; if it is not, insert the interval of recorded start and end time and update them to start another interval to be merged with current start and end time.

Code Java O(nlogn): Java8 lambda comparator

Code Python

Last updated

Was this helpful?