transport есть сокращения t7t, tr2sp3, 9 и transport (ничего не заменено), а t25t недопустимо: заменённые отрезки «ran» и «sport» стоят вплотную.
Длина сокращения — это число оставленных букв плюс число заменённых отрезков: у t7t длина 3, у tr2sp3 — 6. Сокращение подходит к слову, если его можно получить из этого слова описанным способом.
Даны слово word и словарь vocabulary. Найдите сокращение word наименьшей длины, которое не подходит ни к одному слову словаря.
Если кратчайших несколько, верните то, что прячет буквы как можно левее: сравнивая два кандидата по позициям слева направо, при первом различии выбирайте тот, где буква на этой позиции скрыта в числе.word='cat', vocabulary=['cut'] → '1a1'
«3», «c2» и «2t» подходят и к «cut». Среди сокращений длины 3 первым по правилу идёт «1a1»: оно прячет первую букву, а «cut» в нём не узнать — там на месте a стоит u.
word='apple', vocabulary=[] → '5'
Словарь пуст, поэтому годится самое короткое сокращение — одно число.
word='plan', vocabulary=['plum', 'clan'] → 'p2n'
Все сокращения длины 2 подходят к одному из слов словаря. Из сокращений длины 3 конфликта нет только у «p2n»: «plum» кончается на m, а «clan» начинается с c.
word.length ≤ 21vocabulary.length ≤ 1000word, то k · 2^word.length ≤ 2²¹vocabulary[i].length ≤ 100word нет в словареword='cat', vocabulary=['cut']
'1a1'
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 43 теста на сервере, включая скрытые.