1845. Seat Reservation Manager
Read the full problem statement on LeetCode.
Difficulty: medium Acceptance: 66% Topics: Design, Heap (Priority Queue)
View full problem on LeetCode Reading material
Reference solution (spoiler · python)
# Time: ctor: O(n)
# reserve: O(logn)
# unreserve: O(logn)
# Space: O(n)
import heapq
class SeatManager(object):
def __init__(self, n):
"""
:type n: int
"""
self.__min_heap = range(1, n+1)
# heapq.heapify(self.__min_heap) # no need for sorted list
def reserve(self):
"""
:rtype: int
"""
return heapq.heappop(self.__min_heap)
def unreserve(self, seatNumber):
"""
:type seatNumber: int
:rtype: None
"""
heapq.heappush(self.__min_heap, seatNumber)
Solution from kamyu104/LeetCode-Solutions · MIT
Similar questions