Search⌘ K
AI Features

Solution: Employee Free Time

Explore how to compute the common free time slots among multiple employees by merging their sorted working intervals. Understand the use of min-heaps to process start times and identify gaps in schedules efficiently, with attention to time and space complexity.

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 1 ...