Sobes.tech
Middle — Senior

Como verificar eficazmente a existência de um par espelho de pontos com um x oposto?

sobes.tech IA

Resposta da IA

Para verificar eficazmente a presença de um par de pontos espelho com valores opostos de x, pode usar uma estrutura de dados para buscas rápidas — por exemplo, um conjunto (set).

Algoritmo:

  1. Coloque todos os pontos num conjunto para pesquisa em O(1).
  2. Para cada ponto (x, y), verifique se no conjunto existe o ponto (-x, y).

Se tal ponto for encontrado, significa que existe um par espelho ao longo do eixo Y.

Exemplo em Python:

points = [(1, 2), (-1, 2), (3, 4), (5, 6)]
point_set = set(points)

for x, y in points:
    if (-x, y) in point_set:
        print(f"Par espelho encontrado: ({x}, {y}) e ({-x}, {y})")

Este método funciona em O(n), onde n é a quantidade de pontos, o que é eficiente para conjuntos de dados grandes.