Menu
CoddyTech

Longest Substring Without Repeating Characters

Durchsuche eine Zeichenfolge nach Abschnitten aufeinanderfolgender Zeichen, in denen jedes Zeichen nur einmal vorkommt. In coddycode hat der Abschnitt ycode fünf verschiedene Zeichen, und kein längerer Abschnitt kommt ohne Wiederholung aus, daher lautet die Antwort 5.

Jeden möglichen Abschnitt zu überprüfen funktioniert, ist aber langsam. Eine schnellere Methode hält ein Fenster zwischen zwei Positionen, in dem es nie Wiederholungen gibt. Verschiebe den rechten Rand jeweils um ein Zeichen. Wenn das neue Zeichen bereits im Fenster ist, springe mit dem linken Rand direkt hinter die Stelle, an der dieses Zeichen zuvor gesehen wurde. Wenn du dir die letzte Position jedes Zeichens merkst, erfolgt dieser Sprung sofort, sodass die Zeichenfolge nur einmal durchlaufen wird.

Schreibe eine Funktion namens lengthOfLongestSubstring, die einen String s entgegennimmt und die Länge des längsten Teilstrings (einer Folge aufeinanderfolgender Zeichen) zurückgibt, in dem kein Zeichen mehr als einmal vorkommt.

Groß- und Kleinbuchstaben sind unterschiedliche Zeichen, daher sind a und A keine Wiederholung.

Einschränkungen: 1 <= s.length <= 5 * 10^4. s enthält nur englische Buchstaben (Groß- und Kleinbuchstaben) und Ziffern.

Funktion

lengthOfLongestSubstring(arg1: string) → integer
arg1string
Gibt zurückinteger

Beispiele

Eingabe
arg1 = "coddycode"
Ausgabe
5

lock icon+12 versteckte Tests beim Einreichen

Code zurücksetzen
def lengthOfLongestSubstring(s):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

arg1 = "coddycode"

Erwartet

5