Ctrl K

Слова, вмещающие все образцы

Средняя
Даны два списка строк: words и samples. Скажем, что слово w вмещает образец s, если каждая буква s встречается в w не меньше раз, чем в s (порядок букв не важен). Например, "ell" помещается в "hello", но не в "help". Верните все слова из words, которые вмещают каждый образец из samples. Порядок слов в ответе любой.
Пример 1
words=["banana", "cabin", "nab", "bandana"], samples=["ban", "aa"] → ['banana', 'bandana']

Нужны b, n и две a. Они есть в banana и bandana; в cabin и nab только одна a.

Пример 2
words=["stone", "notes", "tones"], samples=["net", "so"] → ['stone', 'notes', 'tones']

Все три слова — перестановки одних и тех же букв, и каждое содержит n, e, t, s, o.

Пример 3
words=["loop", "pool"], samples=["ooo"] → []
Ограничения
  • 1 ≤ len(words), len(samples) ≤ 10⁴
  • 1 ≤ len(words[i]), len(samples[i]) ≤ 10
  • Все строки состоят из строчных латинских букв
  • Слова в words попарно различны
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРазложить анаграммы по группам СредняяРазбиение на слова из словаря СредняяСлова, равные со сдвигом СредняяПодпоследовательность только одного слова СредняяФайлы с одинаковым содержимым Средняя
загружаем Python…
Вход
words=["banana", "cabin", "nab", "bandana"], samples=["ban", "aa"]
Ожидается
['banana', 'bandana']

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