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:
- Vložte všetky body do množiny pre vyhľadávanie v O(1).
- 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.