150 principais entrevistasMédio

Clonar gráfico

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

Declaração do problema

Médio

Dada uma referência de um nó em um gráfico não direcionado conectado, retorne uma cópia profunda (clone) do gráfico.

Cada nó no gráfico contém um valor (int) e uma lista de seus vizinhos (List[Node]).

O gráfico é representado como uma lista de adjacências. Implemente uma função cloneGraph(adjList: List[List[int]]) -> List[List[int]] onde adjList[i] representa os vizinhos do nó i+1 (indexado 1). Retorne a lista de adjacências do gráfico clonado.

Restrições
  • 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

Exemplos

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