Search⌘ K
AI Features

Solution: Employee Free Time

Explore how to compute shared free time for multiple employees by merging their work intervals using a min-heap. Understand how to track and merge overlapping intervals, identify gaps representing free periods, and return sorted intervals without overlaps. This lesson helps you implement an efficient algorithm to solve real-world scheduling problems with attention to complexity and data structures.

Statement

You are given schedule, a list where each element contains the working hours of one employee.

Each employee’s working hours are represented as a list of Interval objects that are already sorted and do not overlap.

Return all finite intervals with non-zero duration during which all employees are simultaneously free. The resulting list of free intervals should also be sorted in ascending order.

Note: The intervals are represented as objects, not arrays. For example, schedule[1][1].start = 1 and schedule[1][1].end = 2, while schedule[0][0][0] is invalid. Do not include intervals with zero length (for example, [3, 3]) in the output.

Constraints:

  • 11 \leq schedule.length , schedule[i].length 50\leq 50

  • 00 \leq interval.start < interval.end 108\leq 10^8 ...