Top 150 des entrevuesFacile

Planificateur de tâches

Guide détaillé et implémentation de Python pour le problème 'Task Scheduler'.

Énoncé du problème

Facile

Vous disposez d'un ensemble de tâches CPU, chacune représentée par une lettre de A à Z, et d'un intervalle de refroidissement n. Chaque cycle ou intervalle permet d'accomplir une tâche. Les tâches peuvent être réalisées dans n'importe quel ordre, mais il existe une contrainte : les tâches identiques doivent être séparées d'au moins n intervalles en raison des besoins de refroidissement.

Renvoie le nombre minimum d'intervalles requis pour terminer toutes les tâches.

Écrivez une fonction leastInterval(tasks: List[str], n: int) -> int.

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

Exemples

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?
Envisagez d'utiliser des structures de données spécifiques au tas/à la file d'attente prioritaire, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.