[0,6]
[2,4]
[5,8]
0
1
2
3
4
5
6
7
8
[0][1][2][3][4][5][6][7][8]
Chronological sweep (events)
▸1events ← split each meeting into (start,+1) and (end,−1)2sort events by time; on ties, end before start3rooms ← 0; peak ← 04for (time, +1) in events: rooms += 15for (time, −1) in events: rooms -= 16 peak = max(peak, rooms)7return peak
state
- meetings[0,6] [2,4] [5,8]