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:
- Coloque todos os pontos num conjunto para pesquisa em O(1).
- 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.