Ctrl K

Сколько раз повторить слово

Средняя
Даны две строки tile и target. Строку tile выписывают несколько раз подряд: например, "abc", повторённая 0 раз, — это пустая строка, 1 раз — "abc", 2 раза — "abcabc". Верните наименьшее число повторений tile, при котором target становится подстрокой результата. Если этого не добиться никаким числом повторений, верните -1.
Пример 1
tile="xyz", target="zxyzx" → 3

Три копии дают xyzxyzxyz, и в ней есть zxyzx (с позиции 2). В двух копиях xyzxyz её нет.

Пример 2
tile="ab", target="ba" → 2

В одной копии ab строки ba нет, а в abab — есть. Ответ 2.

Пример 3
tile="abc", target="acb" → -1

Сколько ни повторяй abc, после a всегда идёт b, поэтому ответ -1.

Ограничения
  • 1 ≤ len(tile), len(target) ≤ 10⁴
  • tile и target состоят из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПодсветить найденное СредняяПодсветка найденных слов СредняяЗаглавные буквы по шаблону СредняяЯкорь рядом с напарником СредняяСлово на конвейере Средняя
загружаем Python…
Вход
tile="xyz", target="zxyzx"
Ожидается
3

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