Menu
CoddyTech

Longest Substring Without Repeating Characters

Найдите в строке последовательности идущих подряд символов, в которых каждый символ встречается только один раз. В coddycode последовательность ycode содержит пять разных символов, и ни одна более длинная последовательность не обходится без повторов, поэтому ответ — 5.

Проверка всех возможных последовательностей работает, но выполняется медленно. Более быстрый способ поддерживает окно между двумя позициями, в котором символы никогда не повторяются. Передвигайте правую границу на один символ за раз. Когда новый символ уже находится в окне, передвиньте левую границу сразу за место, где этот символ встречался раньше. Если запоминать последнюю позицию каждого символа, такое перемещение выполняется мгновенно, поэтому строка считывается только один раз.

Напишите функцию с именем lengthOfLongestSubstring, которая получает строку s и возвращает длину самой длинной подстроки (последовательности идущих подряд символов), в которой ни один символ не встречается более одного раза.

Заглавные и строчные буквы — это разные символы, поэтому a и A не считаются повтором.

Ограничения: 1 <= s.length <= 5 * 10^4. s содержит только английские буквы (строчные и заглавные) и цифры.

Функция

lengthOfLongestSubstring(arg1: string) → integer
arg1string
Возвращаетinteger

Примеры

Ввод
arg1 = "coddycode"
Вывод
5

lock icon+12 скрытых тестов при отправке

Сбросить код
def lengthOfLongestSubstring(s):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Случай 3

Ввод

arg1 = "coddycode"

Ожидается

5