此题与Task-Scheduler-I
最大的区别在于所有的任务执行的顺序已经给定了。假设当前需要执行的任务是A,那么现在能否执行A的唯一条件,就是任务A是否有冷冻期。如果有有冷冻期,那么我们就需要推迟到冷冻期结束之后的第一天执行(如果冷冻期的结束日期比当前晚的话)。那么冷冻期的结束日期是怎么确定的呢?那就是上次执行A的时候就可以确定的。
所以我们只需要要维护一个哈希表time,来记录每个任务的冷冻期结束日期。每完成一个任务,就更新它的冷冻期结束日期,这样今后遇到相同任务时,就可以知道可以开工的时间。如果当前任务没有冷冻结期束日期,那么就可以在当天去执行。