Sobes.tech
Intern

# Berilgan satr 'X', 'Y' va 'O' harflaridan iborat. # 'X' va 'Y' harflari orasidagi eng qisqa masofani topish yoki 'X' yoki 'Y' mavjud bo'lmasa 0 ni chiqarish kerak. # "YY" -> 0 # "XX" -> 0 # "XY" -> 1 # "YOX" -> 2 # "OOOXOOYOXO" -> 2 # "OOOXXOY" -> 2 def distance(string: str) -> int:

sobes.tech AI

AIdan javob

def masofa(string: str) -> int: # Stringda 'X' ve 'Y' olup olmadığını kontrol ediyoruz if 'X' not in string or 'Y' not in string: return 0

pozitsiyalar_x = [i for i, ch in enumerate(string) if ch == 'X']
pozitsiyalar_y = [i for i, ch in enumerate(string) 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(pozitsiyalar_x) and j < len(pozitsiyalar_y):
    mesafe = abs(pozitsiyalar_x[i] - pozitsiyalar_y[j])
    if mesafe < min_mesafe:
        min_mesafe = mesafe

    # Daha küçük mesafe bulmak için göstergeyi hareket ettiriyoruz
    if pozitsiyalar_x[i] < pozitsiyalar_y[j]:
        i += 1
    else:
        j += 1

return min_mesafe