Ctrl K

Слово из повторяющегося куска

Средняя
Дана строка word и число block, на которое длина строки делится нацело. Разрежем строку на куски длины block: первый начинается с позиции 0, второй с позиции block, и так далее. За одну операцию можно выбрать два куска и скопировать содержимое одного поверх другого. Верните наименьшее число операций, после которых строка будет одним и тем же куском, повторённым несколько раз.
Пример 1
word="abcabdabc", block=3 → 1

Куски: abc, abd, abc. Достаточно одного копирования: записать abc на место abd.

Пример 2
word="kitekitekite", block=4 → 0

Все куски уже равны kite.

Пример 3
word="abcd", block=1 → 3

Четыре разных куска по одной букве; оставим любой, остальные три перезапишем.

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

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