Solution: Replace Words
Explore how to efficiently replace words in a sentence by finding the shortest matching prefix from a dictionary using a trie data structure. Understand both naive and optimized approaches, focusing on implementing a trie to reduce search time complexity. This lesson helps you apply pattern recognition and algorithmic strategies to improve performance in coding interview problems involving string prefixes.
We'll cover the following...
Statement
In this problem, we are considering the words that are composed of a
You’re given a dictionary, dictionary, consisting of prefixes, and a sentence, sentence, which has words separated by spaces only. Your task is to replace the postfix in sentence with their prefixes given in dictionary (if found) and return the modified sentence.
A couple of points to keep in mind:
-
If a postfix in the sentence matches more than one prefix in the dictionary, replace it with the prefix that has the shortest length. For example, if we have the sentence “iphone is amazing”, and the dictionary {“i”, “ip”, “hone”}, then the word “iphone” has two prefixes in the dictionary “i” and “ip”, but we will replace it with the one that is shorter among the two, that is, “i”.
-
If there is no root word against any word in the sentence, leave it unchanged.
Constraints:
-
dictionary.Length -
dictionary[i].Length dictionary[i]consists of only lowercase letters.-
sentence.Length - The number of words in
sentenceis in the range