Intern
# Verilmiş 'X', 'Y' və 'O' hərflərindən ibarət sətir. # 'X' və 'Y' hərfləri arasındakı ən qısa məsafəni tapmaq və ya 'X' və ya 'Y' yoxdursa 0 qaytarmaq lazımdır. # "YY" -> 0 # "XX" -> 0 # "XY" -> 1 # "YOX" -> 2 # "OOOXOOYOXO" -> 2 # "OOOXXOY" -> 2 def distance(string: str) -> int:
sobes.tech Süni İntellekt
AI-dan cavab
def məsafə(string: str) -> int: # Stringdə 'X' və 'Y' olub olmadığını yoxlayırıq if 'X' not in string or 'Y' not in string: return 0
mövqelər_x = [i for i, ch in enumerate(string) if ch == 'X']
mövqelər_y = [i for i, ch in enumerate(string) if ch == 'Y']
ən kiçik məsafə = float('inf')
i, j = 0, 0
# Minimal məsafəni tapmaq üçün iki göstərici istifadə edirik
while i < len(mövqelər_x) and j < len(mövqelər_y):
məsafə = abs(mövqelər_x[i] - mövqelər_y[j])
if məsafə < ən kiçik məsafə:
ən kiçik məsafə = məsafə
# Daha kiçik məsafə tapmaq üçün göstəriciləri irəli çəkirik
if mövqelər_x[i] < mövqelər_y[j]:
i += 1
else:
j += 1
return ən kiçik məsafə