Intervals & Overlaps/Medium

Merge IntervalsPRO PASS

Time: O(N log N)Space: O(N)

Step 1: Setup & Initialization - Merge Intervals

Sort intervals by start time and extend bounds if overlap occurs.

Array Elements & Pointers
10
[0]
20
[1]
30
[2]
40
[3]
50
[4]
Live Variables & Invariants
status:Initialized
pattern:Merge Intervals
Step 1 / 333%
Solution Code
1
function merge(intervals: number[][]): number[][] {
2
  intervals.sort((a, b) => a[0] - b[0]);
3
  const res: number[][] = [intervals[0]];
4
  for (let i = 1; i < intervals.length; i++) {
5
    const last = res[res.length - 1];
6
    if (intervals[i][0] <= last[1]) last[1] = Math.max(last[1], intervals[i][1]);
7
    else res.push(intervals[i]);
8
  }
9
  return res;
10
}

Custom Test Case Runner

Input your custom values and visualize step-by-step trace

Quick Presets:

AI DSA Coach

Contextual Tutor for Merge Intervals

Hello! I am your AI DSA Tutor for **Merge Intervals** (Intervals & Overlaps). Ask me anything about this algorithm, time complexity, or request a step hint!