Seat Reservation Manager

Design a seat reservation system that always returns the smallest available seat number when reserving. The structure should also support unreserving a seat and making it available again.

Input Format

n = total seats, operations = method names, values = associated seat numbers when needed

Output Format

results of reserve operations in order; unreserve returns null

Constraints

  • 1 <= n <= 10^5
  • 1 <= operations.length <= 10^5

Examples

Example 1:

Input:

n = 5
operations = ["reserve","reserve","unreserve","reserve"]
values = [0,0,2,0]

Output:

[1,2,null,2]

Explanation:

Seats are reserved in increasing order; seat 2 becomes available again after unreserving.

Example 2:

Input:

n = 3
operations = ["reserve","reserve","reserve"]
values = [0,0,0]

Output:

[1,2,3]

Explanation:

The smallest available seat is chosen each time.

Loading...
Seat Reservation Manager - Heap DSA Problem