Search⌘ K
AI Features

Solution: Insert Interval

Understand how to insert a new interval into an existing list of sorted, non-overlapping intervals while maintaining order and merging overlaps efficiently. Discover the optimized approach that runs in linear time by processing intervals in one pass. This lesson helps you implement interval insertion and merging with a clear step-by-step explanation and code.

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 ...