Merge Overlapping Intervals with a Sweep

Quick Overview

Implement `merge_intervals(intervals)` for closed integer intervals `[start, end]` with `start <= end`. Work through the function contract, boundary cases, correctness argument, and time and space complexity expected in a production-quality solution.

Merge Overlapping Intervals with a Sweep

Company: Amazon

Role: Software Engineer

Category: Coding & Algorithms

Difficulty: hard

Interview Round: Take-home Project

# Merge Overlapping Intervals with a Sweep Implement `merge_intervals(intervals)` for closed integer intervals `[start, end]` with `start <= end`. Return their union as non-overlapping intervals sorted by start. Intervals sharing an endpoint merge. Constraints: up to `200000` intervals; every endpoint is an integer in `[-10^9, 10^9]`. Return an array of two-integer arrays. Do not mutate the input. Aim for `O(n log n)` time. ```hint Focus on boundary policy Test nested intervals, disjoint intervals, duplicate intervals, and two intervals that share one endpoint. ```

Quick Answer: Implement `merge_intervals(intervals)` for closed integer intervals `[start, end]` with `start <= end`. Work through the function contract, boundary cases, correctness argument, and time and space complexity expected in a production-quality solution.

|Home/Coding & Algorithms/Amazon
Amazon logo
Amazon
Aug 11, 2026, 12:00 AM
hardSoftware EngineerTake-home ProjectCoding & Algorithms
0
0

Merge Overlapping Intervals with a Sweep

Implement merge_intervals(intervals) for closed integer intervals [start, end] with start <= end. Return their union as non-overlapping intervals sorted by start. Intervals sharing an endpoint merge.

Constraints: up to 200000 intervals; every endpoint is an integer in [-10^9, 10^9]. Return an array of two-integer arrays. Do not mutate the input. Aim for O(n log n) time.

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...