70. Merge Intervals

MediumArrayArray

Given an array of intervals intervals where intervals[i] = [start_i, end_i], merge all overlapping intervals and return an array of the non-overlapping intervals that cover all the intervals in the input.

Input: A 2D array intervals where intervals[i]=[start,end].

Output: Array of merged non-overlapping intervals sorted by start.

Examples

Example 1
Input: [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]
Explanation: [1,3] and [2,6] overlap → merge to [1,6]. [8,10] and [15,18] don't overlap.
Example 2
Input: [[1,4],[4,5]]
Output: [[1,5]]
Explanation: [1,4] and [4,5] touch at 4 → merge to [1,5].
Example 3
Input: [[1,4],[2,3]]
Output: [[1,4]]
Explanation: [2,3] is contained within [1,4].

Constraints

Asked by

IBMBloombergAdobeMetaAppleAmazon
Solve this problem in the editor →