Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Merge Overlapping Time Ranges

EasyPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Merge Overlapping Time Ranges. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

In a Meta scheduling pipeline, you are given a list of time ranges representing busy windows for a service or model job. Merge all overlapping time ranges and return the minimal set of non-overlapping ranges covering the same time.

Formal Specification

Implement a function that takes intervals, a list of intervals where each interval is a list [start, end] with start <= end, and returns a new list of merged intervals sorted by start time.

Two intervals overlap if the next interval's start is less than or equal to the current merged interval's end. In that case, they should be combined into [min_start, max_end].

Constraints

  • 0 <= len(intervals) <= 10^5
  • intervals[i].length == 2
  • 0 <= start <= end <= 10^9
  • Each interval is represented as [start, end]
  • Intervals that touch at endpoints should be merged

Function Signature

def merge_intervals(intervals):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output