Menu
CoddyTech

Longest Substring Without Repeating Characters

Parcourez une chaîne pour trouver des séquences de caractères consécutifs où chaque caractère apparaît une seule fois. Dans coddycode, la séquence ycode contient cinq caractères différents, et aucune séquence plus longue n’évite les répétitions : la réponse est donc 5.

Vérifier toutes les séquences possibles fonctionne, mais c’est lent. Une méthode plus rapide maintient une fenêtre entre deux positions qui ne contient jamais de répétition. Déplacez le bord droit d’un caractère à la fois. Lorsque le nouveau caractère se trouve déjà dans la fenêtre, déplacez le bord gauche juste après l’endroit où ce caractère a été vu précédemment. Mémoriser la dernière position de chaque caractère rend ce déplacement instantané, de sorte que la chaîne n’est parcourue qu’une seule fois.

Écrivez une fonction nommée lengthOfLongestSubstring qui reçoit une chaîne s et renvoie la longueur de la plus longue sous-chaîne (une suite de caractères consécutifs) dans laquelle aucun caractère n’apparaît plus d’une fois.

Les lettres majuscules et minuscules sont des caractères différents : a et A ne sont donc pas des répétitions.

Contraintes : 1 <= s.length <= 5 * 10^4. s ne contient que des lettres anglaises (minuscules et majuscules) et des chiffres.

Fonction

lengthOfLongestSubstring(arg1: string) → integer
arg1string
Renvoieinteger

Exemples

Entrée
arg1 = "coddycode"
Sortie
5

lock icon+12 tests cachés à la soumission

Réinitialiser le code
def lengthOfLongestSubstring(s):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

arg1 = "coddycode"

Attendu

5