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:
- Tüm noktaları bir kümeye yerleştirerek O(1) arama yapın.
- 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.