Employee free time intervals

Write codeMedium25 minGoogle and Airbnb style

Your task

You are given schedule, a list of employees, where each employee is a list of non-overlapping busy intervals [start, end] sorted by start. Return the list of finite COMMON free-time intervals shared by ALL employees, sorted by start, each as [start, end]. Free time before everyone's first meeting and after everyone's last is unbounded and must NOT be included. Flatten all intervals, merge overlaps, and report the gaps. Up to 50 employees, 50 intervals each.

Examples

employee_free_time(schedule: list[list[list[int]]]) -> list[list[int]]
Example 1
Inputemployee_free_time([[[1, 2], [5, 6]], [[1, 3]], [[4, 10]]])
Output[[3, 4]]