Luan19code / dev_on_real

0 stars 4 forks source link

Clonar grafo #31

Open maiaalysson opened 3 weeks ago

maiaalysson commented 3 weeks ago

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 (List[Node]) de seus vizinhos.

classe Nó { valor interno público; public List vizinhos; }

Formato do caso de teste:

Para simplificar, o valor de cada nó é igual ao índice do nó (indexado em 1). Por exemplo, o primeiro nó com val == 1, o segundo nó com val == 2 e assim por diante. O gráfico é representado no caso de teste usando uma lista de adjacências.

Uma lista de adjacências é uma coleção de listas não ordenadas usadas para representar um grafo finito. Cada lista descreve o conjunto de vizinhos de um nó no gráfico.

O nó fornecido sempre será o primeiro nó com val = 1. Você deve retornar a cópia do nó fornecido como referência ao gráfico clonado.

Exemplo: Image

Entrada: listadj = [[2,4],[1,3],[2,4],[1,3]] Saída: [[2,4],[1,3],[2,4],[1,3]] Explicação: Existem 4 nós no gráfico. Os vizinhos do 1º nó (val = 1) são o 2º nó (val = 2) e o 4º nó (val = 4). Os vizinhos do 2º nó (val = 2) são o 1º nó (val = 1) e o 3º nó (val = 3). Os vizinhos do 3º nó (val = 3) são o 2º nó (val = 2) e o 4º nó (val = 4). Os vizinhos do 4º nó (val = 4) são o 1º nó (val = 1) e o 3º nó (val = 3).

Restrições:

O número de nós no gráfico está no intervalo [0, 100]. 1 <= Nó.val <= 100 Node.val é exclusivo para cada nó. Não há arestas repetidas nem auto-loops no gráfico. O gráfico está conectado e todos os nós podem ser visitados a partir de um determinado nó.