Ctrl K

Слово растёт по букве

Средняя
Дан список слов words из строчных латинских букв. Слово B *вырастает* из слова A, если в A можно вставить ровно одну букву в любое место (остальные буквы не переставляя) и получить B. Например, cat вырастает в coat, но tac в coat не вырастает. *Цепочка роста* — это последовательность слов из списка, в которой каждое следующее слово вырастает из предыдущего. Одно слово само по себе — тоже цепочка длины 1. Верните длину самой длинной цепочки роста, которую можно составить из слов списка.
Пример 1
words=["to", "t", "tor", "stor", "story", "top"] → 5

t → to → tor → stor → story: каждый раз вставляется ровно одна буква. Ветка to → top короче.

Пример 2
words=["ab", "bca"] → 1

Из ab нельзя получить bca одной вставкой: порядок букв a и b пришлось бы поменять. Цепочка из одного слова.

Пример 3
words=["k", "ok", "kok", "oko"] → 3

k → ok → kok (или ok → oko) — три слова.

Ограничения
  • 1 ≤ len(words) ≤ 1000
  • 1 ≤ len(words[i]) ≤ 30
  • слова состоят из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПодпоследовательность только одного слова СредняяСлова, спрятанные в тексте СредняяЗаклинания без соседей СредняяЛишние буквы под пометкой СредняяРазложить анаграммы по группам Средняя
загружаем Python…
Вход
words=["to", "t", "tor", "stor", "story", "top"]
Ожидается
5

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