Search⌘ K
AI Features

Solution: Insert Interval

Explore how to insert a new interval into a sorted list of non-overlapping intervals while maintaining order and merging any overlaps. Understand both naive and optimized approaches, focusing on a linear time solution that avoids sorting and efficiently merges intervals in one pass.

Statement

You are given a list of non-overlapping intervals, intervals, where each interval is represented as [starti, endi] and the list is sorted in ascending order by the start of each interval (starti). You are also given another interval, newInterval = [start, end].

Your task is to insert newInterval into the list of intervals such that the list remains sorted by starting times and still contains no overlapping intervalsOverlapping intervals are two or more intervals with at least one common point in time.. If any intervals overlap after the insertion, merge them accordingly.

Return the updated list of intervals.

Note: You don’t need to modify intervals in place. You can make a new array and return it.

Constraints:

  • 00 \leq intervals.length 104\leq 10^4

  • intervals[i].length, newInterval.length ==2 ...