Entrevista a los 150 mejoresMedio

Gráfico de árbol válido

Guía detallada e implementación Python para el problema 'Gráfico de árbol válido'.

Declaración del problema

Medio

Tiene un gráfico de n nodos etiquetados de 0 a n - 1. Se le proporciona un número entero n y una lista de aristas donde bordes [i] = [ai, bi] indica que hay un borde no dirigido entre los nodos ai y bi en el gráfico.

Devuelve Verdadero si los bordes del gráfico dado forman un árbol válido y Falso en caso contrario.

Escribe una función validTree(n: int, edges: List[List[int]]) -> bool.

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

Ejemplos

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?
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.