该题目要求模拟一个具有固定容量的定时器系统,根据任务的超时时刻和添加顺序,决定最终保留哪些任务,并输出最后超时任务的索引
创造一个优先队列,然后枚举每一个超时任务:
1.队列的大小<n,直接进队
2.队列的大小>=n,如果新任务的超时时间小于或等于队首的超时时间,则将队首任务移除,并将新任务插入队列。 如果新任务的超时时间大于队首的超时时间,则丢弃新任务。
实现一个定时器系统,系统中最多能够同时容纳 n 个尚未执行的超时任务。每个超时任务都携带一个正整数 t,表示当系统时钟走到 t 时该任务将会被执行。如果多个任务具有相同的超时时刻 t,则按照它们进入系统的先后顺序执行。
该系统的任务添加规则如下:
现在,系统时钟处于 0 时刻,随后在不足 1 个刻度的时间内依次向该系统加入 m 个任务 tasks。
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册