Sobes.tech
Middle — Senior

Ako efektívne skontrolovať prítomnosť zrkadlového páru bodov s opačným x?

sobes.tech AI

Odpoveď od AI

Pre efektívnu kontrolu prítomnosti zrkadlového páru bodov s opačnými hodnotami x môžete použiť dátovú štruktúru pre rýchle vyhľadávanie — napríklad množinu (set).

Algoritmus:

  1. Vložte všetky body do množiny pre vyhľadávanie v O(1).
  2. Pre každý bod (x, y) skontrolujte, či v množine existuje bod (-x, y).

Ak taký bod nájdete, znamená to, že existuje zrkadlový pár podľa osi Y.

Príklad v Pythone:

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"Nájdený zrkadlový pár: ({x}, {y}) a ({-x}, {y})")

Tento prístup funguje v O(n), kde n je počet bodov, a je efektívny pre veľké dátové súbory.