Entrevista a los 150 mejoresMedio

Clonar gráfico

Guía detallada e implementación Python para el problema 'Clone Graph'.

Declaración del problema

Medio

Dada una referencia de un nodo en un gráfico no dirigido conectado, devuelve una copia profunda (clon) del gráfico.

Cada nodo del gráfico contiene un valor (int) y una lista de sus vecinos (Lista[Nodo]).

El gráfico se representa como una lista de adyacencia. Implemente una función cloneGraph(adjList: List[List[int]]) -> List[List[int]] donde adjList[i] representa los vecinos del nodo i+1 (indexado 1). Devuelve la lista de adyacencia del gráfico clonado.

Restricciones
  • The number of nodes in the graph is in the range [0, 100]
  • 1 <= Node.val <= 100
  • Node.val is unique for each node
  • There are no repeated edges and no self-loops in the graph

Ejemplos

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

Node 1's neighbors are 2 and 4. Node 2's neighbors are 1 and 3. Node 3's neighbors are 2 and 4. Node 4's neighbors are 1 and 3.

Example 2
Input
adjList = [[]]
Output
[[]]
Explanation

The graph contains only one node with value 1 and no neighbors.

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.