Entrevista a los 150 mejoresfácil

Horario del curso II

Guía detallada e implementación de Python para el problema 'Programa de cursos II'.

Declaración del problema

fácil

Hay un total de numCourses cursos que debe tomar, etiquetados de 0 a numCourses - 1. Se le proporciona una matriz de requisitos previos donde prerrequisitos[i] = [ai, bi] indica que debe tomar el curso bi primero si desea tomar el curso ai.

Devuelve el orden de los cursos que debes tomar para terminar todos los cursos. Si hay muchas respuestas válidas, devuelva cualquiera de ellas. Si es imposible terminar todos los cursos, devuelve una matriz vacía.

Escribe una función findOrder(numCourses: int, prerequisites: List[List[int]]) -> List[int].

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

Ejemplos

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?
Considere la posibilidad de utilizar estructuras de datos específicas de Graphs, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

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

Abrir en el editor
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

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.