We’re preparing your current view and syncing the latest data.
You are given an array of non-overlapping intervals where intervals[i] = [start_i, end_i] represent the start and the end of the ith interval and intervals is sorted in ascending order by start_i. You are also given a new interval newInterval = [start, end] that represents the start and end of another interval. Insert newInterval into intervals such that intervals is still sorted in ascending order by start_i and intervals still does not have any overlapping intervals (merge overlapping intervals if necessary). Return intervals after the insertion.
Return a list of merged intervals after inserting the new interval into intervals.
Example 1
Input
intervals = [[1,3],[6,9]], newInterval = [2,5]
Output
[[1,5],[6,9]]
Explanation
The new interval [2,5] overlaps with [1,3], so they are merged into [1,5]. The interval [6,9] remains as is.
Example 2
Input
intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]
Output
[[1,2],[3,10],[12,16]]
Explanation
The new interval [4,8] overlaps with [3,5],[6,7],[8,10], so these are merged into [3,10]. Others remain the same.