1834. Single-Threaded CPU

這題其實有點算實作題, 題目有提到

所以要用 pq, 因為要對 time, index 做排序, 所以做一個 class 出來存會是比較漂亮的作法,

因為是照時間順序來放入 pq, 所以當然開始時間要先排序

比較不好設計的部分是, 如何按照 啟動時間 入 pq 呢?

from the name enqueueTime => hint us can add to queue

重點要有個 curTime 來記錄目前時間到哪裡了, pq 是空的時候, 會給予初值(第一個job 的起始時間)

其他 pq 有元素時, 當然就是更新結果和更新 curTime (加上 processingTime, 因為這是一個 single thread 的 CPU, 一次做一件事)

from array to queue

也維持了一個 runIdx 來讀下個 job, 條件是 起始時間 <= curTime

while()...這裏

如此就可以把符合起始時間 的job 入 pq

Last updated

Was this helpful?