Sobes.tech
Middle — Senior

Bir karşıt x ile aynalanmış nokta çifti olup olmadığını nasıl etkili bir şekilde kontrol edebilirsiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

X değerleri zıt olan bir nokta çifti olup olmadığını verimli bir şekilde kontrol etmek için hızlı arama yapabilen bir veri yapısı kullanılabilir — örneğin, bir küme (set).

Algoritma:

  1. Tüm noktaları bir kümeye yerleştirerek O(1) arama yapın.
  2. Her nokta (x, y) için, kümede (-x, y) noktasının olup olmadığını kontrol edin.

Eğer böyle bir nokta bulunursa, Y ekseni boyunca bir ayna çifti olduğu anlamına gelir.

Python örneği:

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"Ayna çifti bulundu: ({x}, {y}) ve ({-x}, {y})")

Bu yaklaşım, n noktası için O(n) sürede çalışır ve büyük veri kümeleri için etkilidir.