Le migliori 150 intervisteMedio

Albero valido del grafico

Guida dettagliata e implementazione Python per il problema "Albero valido del grafico".

Dichiarazione del problema

Medio

Hai un grafico di n nodi etichettati da 0 a n - 1. Ti viene fornito un numero intero n e un elenco di archi dove bordi[i] = [ai, bi] indica che c'è un arco non orientato tra i nodi ai e bi nel grafico.

Restituisce True se i bordi del grafico dato costituiscono un albero valido e False altrimenti.

Scrivi una funzione validTree(n: int, edges: List[List[int]]) -> bool.

Vincoli
  • 1 <= n <= 2000
  • 0 <= len(edges) <= 5000
  • edges[i].length == 2
  • 0 <= ai, bi < n

Esempi

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

The graph is fully connected and contains no cycles, so it is a valid tree.

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

The graph contains a cycle 1-2-3-1, so it is not a valid tree.

Need a Hint?
Prendi in considerazione l'utilizzo di strutture dati specifiche di Graphs come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

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

Apri nell'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

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.