Код Middle Скользящее окно обновлено

Самая длинная подстрока без повторов

Условие

Длина самой длинной подстроки без повторяющихся символов.

Примеры

lengthOfLongestSubstring("abcabcbb") // 3
lengthOfLongestSubstring("bbbbb") // 1
lengthOfLongestSubstring("pwwkew") // 3

Как подойти

Признак «непрерывный участок + условие» → скользящее окно. Расширяй right, чини left, записывай ответ. Ловушка: lastSeen может указывать левее текущего окна - left двигаем только вперёд, иначе окно схлопнется назад.

Подсказки: 2
  1. Окно [left, right] должно всегда оставаться без повторов.
  2. Встретил повтор - двигай left за прошлую позицию символа, но только вперёд.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме