classSeatManager:def__init__(self,n:int):self.q=list(range(1,n+1))defreserve(self)->int:returnheappop(self.q)defunreserve(self,seatNumber:int)->None:heappush(self.q,seatNumber)# Your SeatManager object will be instantiated and called as such:# obj = SeatManager(n)# param_1 = obj.reserve()# obj.unreserve(seatNumber)
1 2 3 4 5 6 7 8 9101112131415161718192021222324
classSeatManager{privatePriorityQueue<Integer>q=newPriorityQueue<>();publicSeatManager(intn){for(inti=1;i<=n;++i){q.offer(i);}}publicintreserve(){returnq.poll();}publicvoidunreserve(intseatNumber){q.offer(seatNumber);}}/** * Your SeatManager object will be instantiated and called as such: * SeatManager obj = new SeatManager(n); * int param_1 = obj.reserve(); * obj.unreserve(seatNumber); */
classSeatManager{public:SeatManager(intn){for(inti=1;i<=n;++i){q.push(i);}}intreserve(){intseat=q.top();q.pop();returnseat;}voidunreserve(intseatNumber){q.push(seatNumber);}private:priority_queue<int,vector<int>,greater<int>>q;};/** * Your SeatManager object will be instantiated and called as such: * SeatManager* obj = new SeatManager(n); * int param_1 = obj->reserve(); * obj->unreserve(seatNumber); */
typeSeatManagerstruct{qhp}funcConstructor(nint)SeatManager{q:=hp{}fori:=1;i<=n;i++{heap.Push(&q,i)}returnSeatManager{q}}func(this*SeatManager)Reserve()int{returnheap.Pop(&this.q).(int)}func(this*SeatManager)Unreserve(seatNumberint){heap.Push(&this.q,seatNumber)}typehpstruct{sort.IntSlice}func(hhp)Less(i,jint)bool{returnh.IntSlice[i]<h.IntSlice[j]}func(h*hp)Push(vany){h.IntSlice=append(h.IntSlice,v.(int))}func(h*hp)Pop()any{a:=h.IntSlicev:=a[len(a)-1]h.IntSlice=a[:len(a)-1]returnv}/** * Your SeatManager object will be instantiated and called as such: * obj := Constructor(n); * param_1 := obj.Reserve(); * obj.Unreserve(seatNumber); */
1 2 3 4 5 6 7 8 9101112131415161718192021222324
classSeatManager{privateq:typeofMinPriorityQueue;constructor(n:number){this.q=newMinPriorityQueue();for(leti=1;i<=n;i++){this.q.enqueue(i);}}reserve():number{returnthis.q.dequeue().element;}unreserve(seatNumber:number):void{this.q.enqueue(seatNumber);}}/** * Your SeatManager object will be instantiated and called as such: * var obj = new SeatManager(n) * var param_1 = obj.reserve() * obj.unreserve(seatNumber) */
1 2 3 4 5 6 7 8 9101112131415161718192021222324
publicclassSeatManager{privatePriorityQueue<int,int>q=newPriorityQueue<int,int>();publicSeatManager(intn){for(inti=1;i<=n;++i){q.Enqueue(i,i);}}publicintReserve(){returnq.Dequeue();}publicvoidUnreserve(intseatNumber){q.Enqueue(seatNumber,seatNumber);}}/** * Your SeatManager object will be instantiated and called as such: * SeatManager obj = new SeatManager(n); * int param_1 = obj.Reserve(); * obj.Unreserve(seatNumber); */