Sobes.tech
Middle — Senior

Cum să verifici eficient existența unui cuplu de puncte oglindă cu un x opus?

sobes.tech AI

Răspuns de la AI

Pentru a verifica eficient existența unui cuplu de puncte oglindite cu valori opuse ale lui x, se poate folosi o structură de date pentru căutări rapide — de exemplu, un set.

Algoritm:

  1. Pune toate punctele într-un set pentru căutare în O(1).
  2. Pentru fiecare punct (x, y), verifică dacă în set există punctul (-x, y).

Dacă se găsește un astfel de punct, înseamnă că există un cuplu oglindit de-a lungul axei Y.

Exemplu în 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"A fost găsit un cuplu oglindit: ({x}, {y}) și ({-x}, {y})")

Această metodă funcționează în O(n), unde n este numărul de puncte, și este eficientă pentru seturi mari de date.