Ctrl K

Склейка перемешанных копий

Средняя
Взяли некоторое слово, сделали несколько его копий, в каждой копии как-то переставили буквы и склеили копии подряд. Получилась строка text. Исходное слово неизвестно. Верните наименьшую длину, которую оно могло иметь. Слово может совпадать со всей строкой: одна копия без перестановок — тоже допустимый вариант.
Пример 1
text="xyyxyxxy" → 2

Блоки длины 2: «xy», «yx», «yx», «xy» — всё это перестановки слова «xy». Длина 1 не подходит: буквы разные.

Пример 2
text="ppppqq" → 6

При длине 2 блоки «pp», «pp», «qq» разные по составу, при длине 3 — «ppp» и «pqq» тоже. Остаётся вся строка целиком: 6.

Пример 3
text="abcab" → 5

Длина 5 простая, поэтому слово — сама строка.

Ограничения
  • 1 ≤ len(text) ≤ 10⁵
  • text состоит из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПодсказка к угадыванию кода СредняяСимволы, сгруппированные по частоте СредняяСамые частые запросы СредняяБез одинаковых соседей СредняяСводка заходов по доменам Средняя
загружаем Python…
Вход
text="xyyxyxxy"
Ожидается
2

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