by Pawan Kumar @jsartisan
Given:
- Array of non-overlapping intervals
intervals
where intervals[i] = [start_i, end_i] - A new interval
newInterval = [start, end]
- intervals is sorted by start time
Insert newInterval into intervals such that:
- Result remains sorted by start time
- No overlapping intervals (merge if needed)
- Return the resulting intervals array
Constraints:
- 0 ≤ intervals.length ≤ 1000
- newInterval.length == intervals[i].length == 2
- 0 ≤ start ≤ end ≤ 1000
Examples:
// Example 1:
console.log(insert([[1,3],[4,6]], [2,5]));
// Output: [[1,6]]
// Explanation: [2,5] overlaps with both intervals
// Example 2:
console.log(insert([[1,2],[3,5],[9,10]], [6,7]));
// Output: [[1,2],[3,5],[6,7],[9,10]]
// Explanation: [6,7] fits between existing intervals