cheetcode

131. Merge IntervalsMedium

Merge all overlapping intervals into the smallest set of disjoint intervals.

Given an array of intervals where intervals[i] = [start, end], merge all overlapping intervals.

Return an array of non-overlapping intervals that covers the same ranges.

Examples

Input: intervals = [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]
Input: intervals = [[1,4],[4,5]]
Output: [[1,5]]

Constraints

  • 1 <= intervals.length <= 10,000
  • intervals[i].length == 2
  • 0 <= start <= end <= 10,000