Top 150 des entrevuesMoyen

Arbre valide du graphique

Guide détaillé et implémentation de Python pour le problème 'Graph Valid Tree'.

Énoncé du problème

Moyen

Vous avez un graphique de n nœuds étiquetés de 0 à n - 1. Vous recevez un entier n et une liste d'arêtes où edge[i] = [ai, bi] indique qu'il existe une arête non orientée entre les nœuds ai et bi dans le graphique.

Renvoie True si les bords du graphique donné constituent un arbre valide, et False sinon.

Écrivez une fonction validTree(n: int, edges: List[List[int]]) -> bool.

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

Exemples

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?
Pensez à utiliser des structures de données spécifiques à Graphs, telles que des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.