Middle — Senior
Hogyan ellenőrizhetjük hatékonyan, hogy létezik-e tükörpár pont az ellenkező x értékkel?
sobes.tech MI
Válasz az MI-től
Az x értékek ellentétes értékű párjainak hatékony ellenőrzéséhez gyors kereséshez adatstruktúrát lehet használni — például egy halmazt (set).
Algoritmus:
- Tegye az összes pontot egy halmazba, hogy O(1) keresést tegyen lehetővé.
- Minden pont (x, y) esetén ellenőrizze, hogy a halmazban van-e (-x, y) pont.
Ha ilyen pontot talál, az azt jelenti, hogy létezik egy tükörpár az Y tengely mentén.
Python példával:
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"Tükörpár találva: ({x}, {y}) és ({-x}, {y})")
Ez a módszer O(n) időben működik, ahol n a pontok száma, és nagy adathalmazok esetén hatékony.