Consolidate On-Call Rotations
You are given a list of on-call rotations. Each rotation has a name, start time, and end time, representing a half-open interval [start, end) during which that person is on call.
Produce the consolidated on-call timeline as maximal contiguous segments. In each output segment, the set of on-call people must remain constant throughout the entire interval. Sort segments by start time and omit gaps where nobody is on call.
Represent each input row as [name, start, end]. Return each output row as [start, end, names], where names is a comma-separated list of on-call names in lexicographic order.
1Example 1
The active set changes at times 10, 20, 30, 40, 50, and 60. Each returned row covers one maximal interval with a stable active set.
2Example 2
The gap [3, 5) has nobody on call, so it is omitted.
Constraints
Limits and guarantees your solution can rely on.
1 <= rotations.length <= 2 * 10^5- Each row is
[name, start, end]. 0 <= start < end <= 10^9- Multiple rotations may share the same start or end time.