P
PHP | LeetCode
@easy_php_task1.4K подп.
116просмотров
8.1%от подписчиков
24 февраля 2026 г.
statsScore: 128
Задача: 916. Word Subsets Сложность: medium Вам даны два массива строк words1 и words2. Строка b является подмножеством строки a, если каждая буква в b встречается в ней, включая кратность. Например, "wrr" является подмножеством "warrior", но не является подмножеством "world". Строка a из words1 является универсальной, если для каждой строки b в words2, b является подмножеством a. Верните массив всех универсальных строк в words1. Вы можете вернуть ответ в любом порядке. Пример: Input: words1 = ["amazon","apple","facebook","google","leetcode"], words2 = ["e","o"] Output: ["facebook","google","leetcode"] 👨‍💻 Алгоритм: 1⃣Подсчитать максимальное количество каждой буквы в каждом слове из words2. 2⃣Проверить каждое слово из words1, если оно содержит не менее максимального количества каждой буквы, которая встречается в словах из words2. 3⃣Вернуть массив слов из words1, которые удовлетворяют этому условию. 😎 Решение: function wordSubsets(&#036;words1, &#036;words2) { &#036;maxCount = array_fill(0, 26, 0); foreach (&#036;words2 as &#036;word) { &#036;count = getCount(&#036;word); for (&#036;i = 0; &#036;i < 26; &#036;i++) { &#036;maxCount[&#036;i] = max(&#036;maxCount[&#036;i], &#036;count[&#036;i]); } } &#036;result = []; foreach (&#036;words1 as &#036;word) { &#036;count = getCount(&#036;word); if (isUniversal(&#036;count, &#036;maxCount)) { &#036;result[] = &#036;word; } } return &#036;result; } function getCount(&#036;word) { &#036;count = array_fill(0, 26, 0); foreach (str_split(&#036;word) as &#036;char) { &#036;count[ord(&#036;char) - ord('a')]++; } return &#036;count; } function isUniversal(&#036;count, &#036;maxCount) { for (&#036;i = 0; &#036;i < 26; &#036;i++) { if (&#036;count[&#036;i] < &#036;maxCount[&#036;i]) { return false; } } return true; } Ставь 👍 и забирай 📚 Базу знаний
116
просмотров
1996
символов
Да
эмодзи
Нет
медиа

Другие посты @easy_php_task

Все посты канала →
Задача: 916. Word Subsets Сложность: medium Вам даны два мас — @easy_php_task | PostSniper