Intern
# 'X', 'Y' ve 'O' harflerinden oluşan bir dize verildiğinde. # 'X' ve 'Y' harfleri arasındaki en kısa mesafeyi bulmak veya 'X' veya 'Y' yoksa 0 döndürmek gerekir. # "YY" -> 0 # "XX" -> 0 # "XY" -> 1 # "YOX" -> 2 # "OOOXOOYOXO" -> 2 # "OOOXXOY" -> 2 def distance(string: str) -> int:
sobes.tech yapay zeka
AI'dan gelen yanıt
def mesafe(dize: str) -> int: # Dizide 'X' ve 'Y' olup olmadığını kontrol ediyoruz if 'X' not in dize or 'Y' not in dize: return 0
konumlar_x = [i for i, ch in enumerate(dize) if ch == 'X']
konumlar_y = [i for i, ch in enumerate(dize) if ch == 'Y']
min_mesafe = float('inf')
i, j = 0, 0
# En küçük mesafeyi bulmak için iki gösterge kullanıyoruz
while i < len(konumlar_x) and j < len(konumlar_y):
mesafe = abs(konumlar_x[i] - konumlar_y[j])
if mesafe < min_mesafe:
min_mesafe = mesafe
# Daha küçük mesafe bulmak için göstergeyi hareket ettiriyoruz
if konumlar_x[i] < konumlar_y[j]:
i += 1
else:
j += 1
return min_mesafe