LeetCode 1942, Medium. Topics: Array, Hash Table, Heap (Priority Queue). View on LeetCode.
Generate this problem as a practice environment: tested reference solution, 20 parametrized pytest cases, and a playground notebook:
Problem
There is a party where n friends numbered from 0 to n - 1 are attending. There is an infinite number of chairs in this party that are numbered from 0 to infinity. When a friend arrives at the party, they sit on the unoccupied chair with the smallest number.
For example, if chairs 0, 1, and 5 are occupied when a friend comes, they will sit on chair number 2.
When a friend leaves the party, their chair becomes unoccupied at the moment they leave. If another friend arrives at that same moment, they can sit in that chair.
You are given a 0-indexed 2D integer array times where times[i] = [arrival<sub>i</sub>, leaving<sub>i</sub>], indicating the arrival and leaving times of the i<sup>th</sup> friend respectively, and an integer targetFriend. All arrival times are distinct.
Return the chair number that the friend numbered targetFriend will sit on.
Examples
Constraints
- n == times.length
- 2 <= n <= 10^4
- times[i].length == 2
- 1 <= arrivali < leavingi <= 10^5
- 0 <= targetFriend <= n - 1
- Each arrivali time is distinct.
Solution
Reference implementation from solution.py on GitHub, full suite in test_solution.py:
Complexity
NeetCode All. Last modified on September 7, 2026