Top 150 InterviewEasy

Merge Intervals

Detailed guide and Python implementation for the 'Merge Intervals' problem.

Problem Statement

Easy

Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input.

Write a function merge(intervals: List[List[int]]) -> List[List[int]].

Constraints
  • 1 <= len(intervals) <= 10^4
  • intervals[i].length == 2
  • 0 <= starti <= endi <= 10^4

Examples

Example 1
Input
intervals = [[1,3],[2,6],[8,10],[15,18]]
Output
[[1,6],[8,10],[15,18]]
Explanation

Intervals [1,3] and [2,6] overlap, merge to [1,6].

Example 2
Input
intervals = [[1,4],[4,5]]
Output
[[1,5]]
Explanation

[1,4] and [4,5] overlap.

Need a Hint?
Consider using Intervals-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor

Recommended Python Resources

Expand your knowledge with related interactive tutorials, cheat sheets, and code comparisons.