Middle — Senior
Hoe controleer je effectief of er een spiegelpaar van punten met een tegengesteld x bestaat?
sobes.tech AI
Antwoord van AI
Om effectief te controleren of er een spiegelpaar van punten met tegengestelde x-waarden bestaat, kun je een datastructuur gebruiken voor snelle zoekopdrachten — bijvoorbeeld een set.
Algoritme:
- Plaats alle punten in een set voor O(1) zoeken.
- Voor elk punt (x, y), controleer of het punt (-x, y) in de set staat.
Als zo'n punt wordt gevonden, betekent dit dat er een spiegelpaar bestaat langs de Y-as.
Voorbeeld in 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"Gevonden spiegelpaar: ({x}, {y}) en ({-x}, {y})")
Deze aanpak werkt in O(n), waarbij n het aantal punten is, en is efficiënt voor grote datasets.