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