Самая длинная подстрока без повторов: найти её длину за один проход
Реализуйте функцию longest_unique(s).
Вход: s — строка (может содержать любые символы, включая пробелы и цифры; регистр значим: "a" и "A" — разные символы).
Выход: целое число — длина самой длинной подстроки, в которой все символы различны. Подстрока — это идущие подряд символы, не подпоследовательность.
Краевые случаи:
- пустая строка: вернуть
0; - строка из одного символа: вернуть
1; - строка из одинаковых символов: вернуть
1.
Требование по сложности: O(n) времени, где n — длина строки. Нельзя перебирать все подстроки вложенными циклами.
Возвращать нужно только длину, сама подстрока не требуется.
заготовка решения
def longest_unique(s):
# ваш код
pass