Top 150-InterviewEinfach

Netzwerkverzögerungszeit

Detaillierte Anleitung und Python-Implementierung für das Problem „Netzwerkverzögerungszeit“.

Problemstellung

Einfach

Sie erhalten ein Netzwerk aus n Knoten, die von 1 bis n beschriftet sind. Sie erhalten auch Zeiten, eine Liste von Laufzeiten als gerichtete Kantenzeiten[i] = [ui, vi, wi], wobei ui der Quellknoten, vi der Zielknoten und wi die Zeit ist, die ein Signal benötigt, um von der Quelle zum Ziel zu gelangen.

Wir werden ein Signal von einem bestimmten Knoten k senden. Gibt die Mindestzeit zurück, die alle n Knoten benötigen, um das Signal zu empfangen. Wenn es nicht möglich ist, dass alle n Knoten das Signal empfangen, geben Sie -1 zurück.

Schreiben Sie eine Funktion networkDelayTime(times: List[List[int]], n: int, k: int) -> int.

Einschränkungen
  • 1 <= k <= n <= 100
  • 1 <= len(times) <= 6000
  • times[i].length == 3
  • 1 <= ui, vi <= n
  • ui != vi
  • 0 <= wi <= 100
  • All the pairs (ui, vi) are unique

Beispiele

Example 1
Input
times = [[2,1,1],[2,3,1],[3,4,1]], n = 4, k = 2
Output
2
Explanation

The signal starts at node 2. It reaches 1 and 3 in 1 unit of time, and 4 in 2 units of time.

Example 2
Input
times = [[1,2,1]], n = 2, k = 1
Output
1
Explanation

Signal reaches node 2 from node 1 in 1 unit of time.

Example 3
Input
times = [[1,2,1]], n = 2, k = 2
Output
-1
Explanation

Signal starts at node 2, but there is no path from node 2 to node 1. So node 1 never receives it.

Need a Hint?
Erwägen Sie die Verwendung von Advanced 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.