TGViewer
PHP Backend | YeaHub PHP Backend | YeaHub @yeahub_php_backend · 376 subscribers
Post #94 154
#ЛитКод
Задача: 648. Replace Words

В английском языке есть понятие "корень", за которым может следовать какое-то другое слово, чтобы образовать другое более длинное слово - назовем это слово производным. Например, если за корнем "help" следует слово "ful", мы можем образовать производное "helpful". Дайте словарь, состоящий из множества корней, и предложение, состоящее из слов, разделенных пробелами, замените все производные в предложении на образующий их корень. Если производное может быть заменено более чем одним корнем, замените его корнем, имеющим наименьшую длину. Верните предложение после замены.

Пример:
Input: dictionary = ["cat","bat","rat"], sentence = "the cattle was rattled by the battery"
Output: "the cat was rat by the bat"


👨‍💻 Алгоритм:

1⃣Преобразуйте словарь корней в набор для быстрого поиска.

2⃣Пройдите по каждому слову в предложении и найдите самый короткий корень, который является префиксом этого слова.

3⃣Замените слово найденным корнем и соберите обновленное предложение.

😎 Решение:
function replaceWords($roots, $sentence) {
$rootSet = array_flip($roots);

$replace = function($word) use ($rootSet) {
for ($i = 1; $i <= strlen($word); $i++) {
if (isset($rootSet[substr($word, 0, $i)])) {
return substr($word, 0, $i);
}
}
return $word;
};

$words = explode(" ", $sentence);
$replacedWords = array_map($replace, $words);

return implode(" ", $replacedWords);
}


👉Новости 👉Платформа
  • 🤬 1
More from @yeahub_php_backend
  1. Oct 12, 2026#Собес #storage #disk #flysystem 🤔 Было ли взаимодействие с файлами (например, через Stor…
  2. Oct 9, 2026#channel #плейлисты 📚 Просто о сложном. CutCode Этот канал — маст-хэв для любого PHP-разр…
  3. Oct 8, 2026#Собес #memory_layout #data_structures #cache_locality 🤔 Как отличие в расположении элеме…
  4. Oct 7, 2026#Собес #collector #garbage #promotion 🤔 Middle PHP Backend-разработчик в Альфа Страховани…
  5. Oct 5, 2026#Собес #profiling #performance 🤔 Если выяснили, что тормозит бэкенд — как бы вы отлаживал…
  6. Oct 2, 2026#trainer #практика 📚 Coddy Платформа-задачник по популярным языкам. Все по классике: реда…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →