Re: [閒聊] 每日LeetCode

作者: Rushia (みけねこ的鼻屎)   2023-11-06 17:05:30
※ 引述《ZooseWu (動物園 公告)》之銘言:
: 1845. Seat Reservation Manager
: 設計一個訂位系統。
: 1.初始化,它會給你一個n代表有n個位子可以訂,初始時所有位置都是可訂狀態。
: 2.reserve() 選擇可訂位中數字最小的一個位子並回傳。
: 3.unreserve(int seatNumber) 取消數字seatNumber的訂位。
思路:
1.初始情況 1~n 都可以預約,然後數字小的會先被預約,就是一直取一個一直遞增的
值(假設為id)。
2.會發生變化只有前面預約的人取消了預約,因為被取消的編號一定比當前id小。
我們把這些取消的座位編號排序放到一個容器,如果容器不為空就從容器裡面取
最小值,否則繼續取當前id,容器方面選用 heap 就可以實現取消的位子自動排序。
Java Code:
作者: wwndbk (黑人問號)   2023-11-06 17:12:00
大師
作者: oin1104 (是oin的說)   2023-11-06 17:14:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com