Search Suggestions System
You are given an array of strings products and a string searchWord.
Design a system that suggests at most three product names from products after each character of searchWord is typed.
Suggested products should have a common prefix with the currently typed prefix of searchWord. If there are more than three products with a common prefix, return the three lexicographically minimum products.
Return a list of lists of the suggested products after each character of searchWord is typed.
Example 1
Input
products = ["mobile","mouse","moneypot","monitor","mousepad"], searchWord = "mouse"Output
[["mobile","moneypot","monitor"],["mobile","moneypot","monitor"],["mouse","mousepad"],["mouse","mousepad"],["mouse","mousepad"]]After sorting products lexicographically, the prefixes
m and mo suggest the first three matching products, while mou, mous, and mouse suggest only mouse and mousepad.Example 2
Input
products = ["havana"], searchWord = "havana"Output
[["havana"],["havana"],["havana"],["havana"],["havana"],["havana"]]The only word
havana is suggested after each character is typed.Constraints
1 <= products.length <= 10001 <= products[i].length <= 30001 <= sum(products[i].length) <= 2 * 10^4- All the strings of
productsare unique. products[i]consists of lowercase English letters.1 <= searchWord.length <= 1000searchWordconsists of lowercase English letters.