150 principais entrevistasMédio

Árvore válida do gráfico

Guia detalhado e implementação de Python para o problema 'Graph Valid Tree'.

Declaração do problema

Médio

Você tem um gráfico de n nós rotulados de 0 a n - 1. Você recebe um número inteiro n e uma lista de arestas onde arestas[i] = [ai, bi] indica que há uma aresta não direcionada entre os nós ai e bi no gráfico.

Retorna True se as arestas do gráfico fornecido constituem uma árvore válida, e False caso contrário.

Escreva uma função validTree(n: int, edges: List[List[int]]) -> bool.

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

Exemplos

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 usar estruturas de dados específicas de gráficos, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no 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 Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.