Alternative: Use a min-heap of end times.
Sort meetings by start time.
Use a min-heap to track end times of ongoing meetings.
For each meeting: if its start >= heap min, pop the heap (reuse that room).
Push the new meeting's end time.
Answer is heap size. The heap tracks the earliest-ending ongoing meeting. If a new meeting starts after that, you can reuse the room. The heap size at the end tells you how many rooms you need simultaneously.