Top 150-InterviewEinfach

Redundante Verbindung

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

Problemstellung

Einfach

In diesem Problem ist ein Baum ein ungerichteter Graph, der zusammenhängend ist und keine Zyklen hat.

Sie erhalten einen Graphen, der als Baum mit n Knoten begann, die mit 1 bis n beschriftet sind, und einer zusätzlichen Kante hinzugefügt wurde. Die hinzugefügte Kante hat zwei verschiedene Scheitelpunkte, die von 1 bis n ausgewählt wurden, und war keine Kante, die bereits existierte. Der Graph wird als Array von Kanten der Länge n dargestellt, wobei Kanten[i] = [ai, bi] anzeigt, dass es eine ungerichtete Kante zwischen den Knoten ai und bi gibt.

Gibt eine Kante zurück, die entfernt werden kann, sodass der resultierende Graph ein Baum mit n Knoten ist. Wenn es mehrere Antworten gibt, wird die Antwort zurückgegeben, die zuletzt in der Eingabe vorkommt.

Schreiben Sie eine Funktion findRedundantConnection(edges: List[List[int]]) -> List[int].

Einschränkungen
  • n == len(edges)
  • 3 <= n <= 1000
  • edges[i].length == 2
  • 1 <= ai < bi <= n
  • ai != bi

Beispiele

Example 1
Input
edges = [[1,2],[1,3],[2,3]]
Output
[2,3]
Explanation

Removing edge [2,3] breaks the cycle 1-2-3-1, leaving a valid tree 1-2 and 1-3.

Example 2
Input
edges = [[1,2],[2,3],[3,4],[1,4],[1,5]]
Output
[1,4]
Explanation

The cycle is 1-2-3-4-1. The last edge in the input that is part of this cycle is [1,4].

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.