Insert a Closed Interval
Problem statement
Given sorted, non-overlapping closed intervals intervals and one closed interval newInterval, insert the new interval and merge every overlapping range. Return the result sorted by start, with no overlaps.
Two closed intervals overlap when they share any point, including an endpoint. Returning a new array is allowed; in-place modification is not required.
Function
insertInterval(intervals: int[][], newInterval: int[]) → int[][]Examples
Example 1
intervals = [[1,3],[6,9]]newInterval = [2,5]return = [[1,5],[6,9]]The new range overlaps the first interval only.
Example 2
intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]]newInterval = [4,8]return = [[1,2],[3,10],[12,16]]The middle three intervals merge with the inserted range.
Example 3
intervals = []newInterval = [5,7]return = [[5,7]]No existing interval needs merging.
Constraints
0 <= intervals.length <= 10000.- Each interval and
newIntervalhas exactly two integers[start,end], with0 <= start <= end <= 100000. - Existing intervals are sorted by start and do not overlap.