Given an array of meeting time intervals where `intervals[i] = [start_i, end_i]`, return the minimum number of conference rooms required.
Two Pointers or Priority Queue
We need to find the maximum number of concurrent meetings at any point in time. We can treat all 'starts' as +1 room and all 'ends' as -1 room. By sorting all start times and end times separately, we can use two pointers to simulate time moving forward. Whenever a meeting starts, we increment our 'rooms' count; whenever a meeting ends (at or before the current start time), we decrement 'rooms'.