Ctrl K

Слова-обложки

Лёгкая
Будем говорить, что слово a обрамляет слово b, если b и начинается, и заканчивается на a. Например, "aba" обрамляет "ababa", а "ab" не обрамляет "abc". Любое слово обрамляет само себя. Дан список words. Верните количество пар позиций i < j, в которых words[i] обрамляет words[j].
Пример 1
words=["ok", "okok", "o", "oko"] → 2

Подходят пары: "ok" и "okok", "o" и "oko". Слово "okok" не обрамлено "o": оно кончается на k.

Пример 2
words=["abcab", "ab"] → 0

Короткое слово идёт позже длинного, а считаются только пары, где обрамляющее слово стоит раньше.

Пример 3
words=["x", "x", "xx"] → 3

Подходят все три пары: "x"–"x", "x"–"xx" и ещё раз "x"–"xx".

Ограничения
  • 1 ≤ len(words) ≤ 50
  • 1 ≤ len(words[i]) ≤ 20
  • Слова состоят из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСлова-рамки СложнаяЦель из начал слов СредняяФраза из начал слов: длинная версия СложнаяПалиндром дописыванием слева СложнаяПодсветить найденное Средняя
загружаем Python…
Вход
words=["ok", "okok", "o", "oko"]
Ожидается
2

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