Ctrl K

Число различных фрагментов строки

Средняя
Дана строка text. Фрагментом назовём любую её непустую непрерывную часть, то есть то, что остаётся после удаления нескольких символов с начала и нескольких с конца (в том числе ни одного). Верните, сколько среди фрагментов различных строк. Одинаковые фрагменты, стоящие в разных местах, считаются один раз. Простое решение очевидно — попробуйте придумать, как обойтись без хранения всех фрагментов целиком.
Пример 1
text='abab' → 7

Различные фрагменты: «a», «b», «ab», «ba», «aba», «bab», «abab» — семь штук. Повторы «a», «b» и «ab» считаются один раз.

Пример 2
text='zzz' → 3

Только «z», «zz» и «zzz».

Пример 3
text='abc' → 6
Ограничения
  • 1 ≤ text.length ≤ 500
  • text состоит из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый длинный повтор СредняяЦель из начал слов СредняяСамый длинный повтор СложнаяФрагменты-повторы СложнаяХвосты, повторяющие начало Сложная
загружаем Python…
Вход
text='abab'
Ожидается
7

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 87 тестов на сервере, включая скрытые.