PatternsMerge Intervals

Merge Intervals Pattern

Master interval management problems: merging, insertion, overlaps, and gaps.

8 Problems
3‑4 Hours
Medium → Hard

When to Use Merge Intervals

Interval Overlap

Need to combine overlapping date/time ranges

Gaps/Free Time

Find holes in schedules or time periods

Scheduling Optimization

Merge tasks, compress timelines, resolve conflicts

Dynamic Insertion

Insert and re‑merge a new interval

Key Insights & Tips

Sort First

Sort intervals by start time before merging

Two Pointers

Track current and last merged intervals

Space Trick

You can modify input if not preserving order

Edge Case

Adjacent intervals may or may not count as overlapping

Code Examples

Merge Overlapping Intervals

Sort intervals, then merge overlapping ones

Time: O(n log n)Space: O(n)
function merge(intervals: number[][]): number[][] {
  intervals.sort((a, b) => a[0] - b[0])
  const res: number[][] = []
  for (const interval of intervals) {
    if (!res.length || res[res.length - 1][1] < interval[0]) {
      res.push(interval)
    } else {
      res[res.length - 1][1] = Math.max(res[res.length - 1][1], interval[1])
    }
  }
  return res
}

Insert Interval

Insert a new interval and merge if needed

Time: O(n log n)Space: O(n)
function insert(intervals: number[][], newInterval: number[]): number[][] {
  intervals.push(newInterval)
  return merge(intervals)
}

Employee Free Time (LC 759)

Find common free time across all employees

Time: O(n log n)Space: O(n)
function employeeFreeTime(schedule: number[][][]): number[][] {
  const all: number[][] = schedule.flat().sort((a, b) => a[0] - b[0])
  const res: number[][] = []
  let prevEnd = all[0][1]
  for (let i = 1; i < all.length; i++) {
    const [start, end] = all[i]
    if (start > prevEnd) res.push([prevEnd, start])
    prevEnd = Math.max(prevEnd, end)
  }
  return res
}

Your Progress

Problems Solved0/8
0% complete8 remaining

Practice Problems

View All

Merge Intervals

medium

Insert Interval

medium

Non-overlapping Intervals

medium

Meeting Rooms II

medium

Minimum Number of Arrows to Burst Balloons

medium

Asked by Companies

GoogleFacebookAmazonLinkedInAirbnbSnapchat

Next Pattern

Master range-based problems next!

Interval Scheduling