Given non-overlapping intervals sorted by start time, insert a new interval and merge if necessary.
With intervals = [[1,3],[6,9]] and newInterval = [2,5]:
- [1,3] overlaps with [2,5]. Merge to [1,5].
- [6,9] doesn't overlap.
- Result: [[1,5],[6,9]].
With intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]] and newInterval = [4,8]:
- [4,8] overlaps with [3,5], [6,7], [8,10].
- Merge all to [3,10].
- Result: [[1,2],[3,10],[12,16]].
Constraints: intervals.length .