Ctrl K

Меньше всего лишних букв

Средняя
Дан текст text без пробелов и словарь vocab из разных слов. Вырежьте из текста несколько непересекающихся кусков так, чтобы каждый кусок был словом из словаря. Одно и то же слово можно использовать сколько угодно раз. Буквы, не попавшие ни в один кусок, считаются лишними. Верните наименьшее возможное число лишних букв.
Пример 1
text="sunxflower", vocab=["sun", "flow", "flower", "er"] → 1

Берём sun и flower (или flow и er), лишней остаётся только x.

Пример 2
text="catalog", vocab=["cat", "log", "tal"] → 1

cat и tal пересекаются, а куски не могут перекрываться. Лучше всего cat + log: остаётся одна буква a.

Пример 3
text="qq", vocab=["q", "qqq"] → 0
Ограничения
  • 1 ≤ len(text) ≤ 50
  • 1 ≤ len(vocab) ≤ 50
  • 1 ≤ len(vocab[i]) ≤ 50
  • text и слова словаря состоят из строчных латинских букв
  • Все слова в vocab различны
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРазбиение на слова из словаря СредняяСлова, спрятанные в тексте СредняяВсе способы расставить пробелы СложнаяПодсветить найденное СредняяСократить слова до корней Средняя
загружаем Python…
Вход
text="sunxflower", vocab=["sun", "flow", "flower", "er"]
Ожидается
1

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