Sobes.tech
Middle — Senior

Əks x ilə simmetriya nöqtələrinin cütlüyünün mövcudluğunu necə effektiv yoxlamaq olar?

sobes.tech Süni İntellekt

AI-dan cavab

X dəyərləri əks olan nöqtə cütlüyünün mövcudluğunu səmərəli şəkildə yoxlamaq üçün sürətli axtarış üçün məlumat quruluşundan istifadə edə bilərsiniz — məsələn, bir set.

Algoritm:

  1. Bütün nöqtələri bir sete yerləşdirin ki, O(1) axtarış mümkün olsun.
  2. Hər bir nöqtə (x, y) üçün, setdə (-x, y) nöqtəsinin olub-olmadığını yoxlayın.

Əgər belə bir nöqtə tapılsa, bu, Y oxu boyunca bir aynalanma cütlüyünün mövcud olduğunu göstərir.

Python nümunəsi:

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"Tapılan aynalanma cütlüyü: ({x}, {y}) və ({-x}, {y})")

Bu yanaşma O(n) vaxtda işləyir və böyük məlumat dəstələri üçün effektivdir.