Top 150 des entrevuesFacile

Calendrier des cours II

Guide détaillé et implémentation de Python pour le problème « Course Schedule II ».

Énoncé du problème

Facile

Il y a un total de cours numCourses que vous devez suivre, étiquetés de 0 à numCourses - 1. Vous recevez un tableau de prérequis où prérequis[i] = [ai, bi] indique que vous devez d'abord suivre le cours bi si vous souhaitez suivre le cours ai.

Renvoyez l'ordre des cours que vous devez suivre pour terminer tous les cours. S'il existe de nombreuses réponses valides, renvoyez-en une. S'il est impossible de terminer tous les cours, renvoyez un tableau vide.

Écrivez une fonction findOrder(numCourses: int, prerequisites: List[List[int]]) -> List[int].

Contraintes
  • 1 <= numCourses <= 2000
  • 0 <= len(prerequisites) <= 5000
  • prerequisites[i].length == 2
  • 0 <= ai, bi < numCourses

Exemples

Example 1
Input
numCourses = 2, prerequisites = [[1,0]]
Output
[0,1]
Explanation

There are a total of 2 courses to take. To take course 1 you should have finished course 0. So the correct course order is [0,1].

Example 2
Input
numCourses = 4, prerequisites = [[1,0],[2,0],[3,1],[3,2]]
Output
[0,2,1,3]
Explanation

There are a total of 4 courses to take. To take course 3 you should have finished both courses 1 and 2. Both courses 1 and 2 should be taken after you finished course 0. So one correct course order is [0,1,2,3]. Another correct ordering is [0,2,1,3].

Need a Hint?
Pensez à utiliser des structures de données spécifiques à Graphs, telles que 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.