150 principais entrevistasFácil

Conexão redundante

Guia detalhado e implementação de Python para o problema de 'Conexão Redundante'.

Declaração do problema

Fácil

Neste problema, uma árvore é um grafo não direcionado que está conectado e não possui ciclos.

Você recebe um gráfico que começou como uma árvore com n nós rotulados de 1 a n, com uma aresta adicional adicionada. A aresta adicionada possui dois vértices diferentes escolhidos de 1 a n, e não era uma aresta que já existia. O gráfico é representado como uma matriz de arestas de comprimento n onde arestas[i] = [ai, bi] indica que existe uma aresta não direcionada entre os nós ai e bi.

Retorne uma aresta que pode ser removida para que o gráfico resultante seja uma árvore de n nós. Se houver múltiplas respostas, retorne a resposta que ocorre por último na entrada.

Escreva uma função findRedundantConnection(edges: List[List[int]]) -> List[int].

Restrições
  • n == len(edges)
  • 3 <= n <= 1000
  • edges[i].length == 2
  • 1 <= ai < bi <= n
  • ai != bi

Exemplos

Example 1
Input
edges = [[1,2],[1,3],[2,3]]
Output
[2,3]
Explanation

Removing edge [2,3] breaks the cycle 1-2-3-1, leaving a valid tree 1-2 and 1-3.

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

The cycle is 1-2-3-4-1. The last edge in the input that is part of this cycle is [1,4].

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.