Top 150-InterviewEinfach

Kursplan

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

Problemstellung

Einfach

Es gibt insgesamt numCourses-Kurse, die Sie absolvieren müssen, beschriftet von 0 bis numCourses - 1. Sie erhalten eine Reihe von Voraussetzungen, wobei „prequires[i] = [ai, bi]“ angibt, dass Sie zuerst Kurs bi belegen müssen, wenn Sie den Kurs ai belegen möchten.

Das Paar [0, 1] gibt beispielsweise an, dass Sie zuerst Kurs 1 belegen müssen, um Kurs 0 zu belegen.

Geben Sie True zurück, wenn Sie alle Kurse abschließen können. Andernfalls geben Sie „False“ zurück.

Schreiben Sie eine Funktion canFinish(numCourses: int, prerequisites: List[List[int]]) -> bool.

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

Beispiele

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

To take course 1 you should have finished course 0. So it is possible.

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

To take course 1 you should have finished course 0, and to take course 0 you should also have finished course 1. This is a cycle and therefore impossible.

Need a Hint?
Erwägen Sie die Verwendung von Graphs-spezifischen Datenstrukturen wie Mengen 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.