Skip to the editor
JSGroundwork
JSGroundwork handwritten · web dev
←Back to Heaps & priority queues

Ready to read

JSJavaScript⑂Git◎Interview prepΣDSA in JSSDSystem Design
More topics15›
</>HTML{ }CSS⚛ReactNNext.jsNeNest.jsTSTypeScriptNoNode.js🐳DockerDBSQL & Databases✓Testing🔒Web Security☁Cloud & DevOps◈GraphQL◆Redis☸Kubernetes
☰‹›
Description
All topics›JavaScript›Heaps & priority queues

Task Scheduler

advancedlayer I3 · Heaps & priority queues5 tests

tasks lists CPU tasks by name; each takes exactly one time unit. Two runs of the same task must be separated by at least n time units, during which the CPU may run a different task or sit idle. Return the shortest total time needed to finish every task.

  • Tasks may be run in any order
  • When there is enough variety the answer is simply tasks.length — no idling is ever required
  • n = 0 means no cooldown at all
  • A MinHeap class is already written for you in the starter — you only need the algorithm

Stuck?

All exercisesPlayground
1234567891011121314
loading the editor…

Nothing yet — hit Run and whatever you log shows up here.

Submit to see how you did.

⌘/Ctrl + Enter run⌘/Ctrl + S save⌘/Ctrl + / comment⌘/Ctrl + F find/replace⌘/Ctrl + D select next matchAlt + click multi-cursorTab indent · ⇧Tab outdentEsc leave fullscreen