Middle — Senior
Wie überprüft man effektiv das Vorhandensein eines Spiegelpaars von Punkten mit einem entgegengesetzten x?
sobes.tech KI
Antwort von AI
Um effektiv zu überprüfen, ob ein spiegelbildliches Punktpaar mit entgegengesetzten x-Werten existiert, kann eine Datenstruktur für schnelle Suchen verwendet werden — zum Beispiel eine Menge (set).
Algorithmus:
- Alle Punkte in eine Menge einfügen, um O(1)-Suche zu ermöglichen.
- Für jeden Punkt (x, y) prüfen, ob der Punkt (-x, y) in der Menge ist.
Wenn ein solcher Punkt gefunden wird, existiert ein spiegelbildliches Paar entlang der Y-Achse.
Beispiel 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"Gefundenes spiegelbildliches Paar: ({x}, {y}) und ({-x}, {y})")
Dieser Ansatz arbeitet in O(n), wobei n die Anzahl der Punkte ist, was für große Datensätze effizient ist.