Top 150-InterviewEinfach

Aufgabenplaner

Detaillierte Anleitung und Python-Implementierung für das Problem „Task Scheduler“.

Problemstellung

Einfach

Sie erhalten eine Reihe von CPU-Aufgaben, die jeweils durch einen Buchstaben von A bis Z dargestellt werden, und ein Abkühlintervall n. Jeder Zyklus oder jedes Intervall ermöglicht die Erledigung einer Aufgabe. Aufgaben können in beliebiger Reihenfolge erledigt werden, es gibt jedoch eine Einschränkung: Aufgrund der Kühlanforderungen müssen identische Aufgaben durch mindestens n Intervalle voneinander getrennt werden.

Gibt die Mindestanzahl an Intervallen zurück, die zum Abschließen aller Aufgaben erforderlich sind.

Schreiben Sie eine Funktion leastInterval(tasks: List[str], n: int) -> int.

Einschränkungen
  • 1 <= len(tasks) <= 10^4
  • tasks[i] is an uppercase English letter
  • 0 <= n <= 100

Beispiele

Example 1
Input
tasks = ["A","A","A","B","B","B"], n = 2
Output
8
Explanation

A possible sequence is A -> B -> idle -> A -> B -> idle -> A -> B.

Example 2
Input
tasks = ["A","A","A","B","B","B"], n = 0
Output
6
Explanation

With no cooling interval, tasks can be executed continuously without idles.

Need a Hint?
Erwägen Sie die Verwendung von Heap-/Prioritätswarteschlangen-spezifischen Datenstrukturen wie Sets oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Im Editor öffnen
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.