首页 > 试题广场 >

有一个有序的任务列表,需要支持读取操作(get),此外它会不

[问答题]

有一个有序的任务列表,需要支持读取操作(get),此外它会不断收到推送,推送有三种类型:任务进度更新推送(update);任务完成推送(done);新任务推送(new)。

  • 当读取(get)时,需要返回一个有序的数组;
  • 当收到任务进度更新推送(update)时,我们需要将对应的任务移到列表的头部;
  • 当收到任务完成推送(done)时,我们需要将此任务从列表中移除;
  • 当收到新任务推送时(new),我们需要将新任务加到列表头部;
每个任务都会有个 taskId 字段唯一标识此任务,尝试设计此任务列表的内部数据结构,让其支持以上的操作(get、update、done、new),并尝试分析这些操作的时间复杂度。

这道题你会答吗?花几分钟告诉大家答案吧!