Sobes.tech
Intern

# Gegeben ist eine Zeichenkette, die aus den Buchstaben 'X', 'Y' und 'O' besteht. # Es ist notwendig, die kürzeste Entfernung zwischen den Buchstaben 'X' und 'Y' zu finden, # oder 0 auszugeben, wenn 'X' oder 'Y' nicht vorhanden sind. # "YY" -> 0 # "XX" -> 0 # "XY" -> 1 # "YOX" -> 2 # "OOOXOOYOXO" -> 2 # "OOOXXOY" -> 2 def distance(string: str) -> int:

sobes.tech KI

Antwort von AI

def entfernung(string: str) -> int: # Überprüfen, ob 'X' und 'Y' im String vorhanden sind if 'X' not in string or 'Y' not in string: return 0

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

min_dist = float('inf')
i, j = 0, 0

# Verwenden wir zwei Zeiger, um die minimale Entfernung zu finden
while i < len(positionen_x) and j < len(positionen_y):
    dist = abs(positionen_x[i] - positionen_y[j])
    if dist < min_dist:
        min_dist = dist

    # Verschieben wir den Zeiger, um eine kleinere Entfernung zu finden
    if positionen_x[i] < positionen_y[j]:
        i += 1
    else:
        j += 1

return min_dist