Search⌘ K
AI Features

Solution: The Number of the Smallest Unoccupied Chair

Explore how to utilize min heaps to efficiently assign the smallest available chair to friends arriving and leaving at various times. This lesson teaches how to manage chair allocation dynamically by tracking free and occupied chairs with priority queues. You will learn to handle sorting, heap operations, and the logic to quickly find a target friend's chair in O(n log n) time, enhancing your problem-solving skills for interval and scheduling challenges.

Statement

At a party, nn friends, numbered from 00 to n1n - 1, arrive and leave at different times. There are infinitely many chairs, numbered 00 onwards. Each arriving friend sits on the smallest available chair at that moment.

For example, if chairs 00, 11, and 55 are occupied when a friend arrives, they will sit on chair number 22.

When a friend leaves, their chair becomes immediately available. If another friend arrives simultaneously, they can take that chair.

You are given a 00-indexed 2D2D list ...