Sobes.tech
Intern

# Antud on string, mis koosneb tähtedest 'X', 'Y' ja 'O'. # Tuleb leida lähim kaugus tähtede 'X' ja 'Y' vahel, # või tagastada 0, kui 'X' või 'Y' puuduvad. # "YY" -> 0 # "XX" -> 0 # "XY" -> 1 # "YOX" -> 2 # "OOOXOOYOXO" -> 2 # "OOOXXOY" -> 2 def distance(string: str) -> int:

sobes.tech AI

Vastus AI-lt

def kaugus(string: str) -> int: # Kontrollime, kas stringis on 'X' ja 'Y' if 'X' not in string or 'Y' not in string: return 0

asukohad_x = [i for i, ch in enumerate(string) if ch == 'X']
asukohad_y = [i for i, ch in enumerate(string) if ch == 'Y']

väikseim_kaugus = float('inf')
i, j = 0, 0

# Kasutame kahte näitajat, et leida väikseim kaugus
while i < len(asukohad_x) and j < len(asukohad_y):
    kaugus = abs(asukohad_x[i] - asukohad_y[j])
    if kaugus < väikseim_kaugus:
        väikseim_kaugus = kaugus

    # Näidete liigutamine, et leida väiksem kaugus
    if asukohad_x[i] < asukohad_y[j]:
        i += 1
    else:
        j += 1

return väikseim_kaugus