2022-03-27 18:27:43 +08:00
< p > You are given an array of strings < code > products< / code > and a string < code > searchWord< / code > .< / p >
< p > Design a system that suggests at most three product names from < code > products< / code > after each character of < code > searchWord< / code > is typed. Suggested products should have common prefix with < code > searchWord< / code > . If there are more than three products with a common prefix return the three lexicographically minimums products.< / p >
< p > Return < em > a list of lists of the suggested products after each character of < / em > < code > searchWord< / code > < em > is typed< / em > .< / p >
< p > < / p >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 1:< / strong > < / p >
2022-03-27 18:27:43 +08:00
< pre >
< strong > Input:< / strong > products = [" mobile" ," mouse" ," moneypot" ," monitor" ," mousepad" ], searchWord = " mouse"
2023-12-09 18:42:21 +08:00
< strong > Output:< / strong > [[" mobile" ," moneypot" ," monitor" ],[" mobile" ," moneypot" ," monitor" ],[" mouse" ," mousepad" ],[" mouse" ," mousepad" ],[" mouse" ," mousepad" ]]
< strong > Explanation:< / strong > products sorted lexicographically = [" mobile" ," moneypot" ," monitor" ," mouse" ," mousepad" ].
After typing m and mo all products match and we show user [" mobile" ," moneypot" ," monitor" ].
After typing mou, mous and mouse the system suggests [" mouse" ," mousepad" ].
2022-03-27 18:27:43 +08:00
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 2:< / strong > < / p >
2022-03-27 18:27:43 +08:00
< pre >
< strong > Input:< / strong > products = [" havana" ], searchWord = " havana"
< strong > Output:< / strong > [[" havana" ],[" havana" ],[" havana" ],[" havana" ],[" havana" ],[" havana" ]]
2023-12-09 18:42:21 +08:00
< strong > Explanation:< / strong > The only word " havana" will be always suggested while typing the search word.
2022-03-27 18:27:43 +08:00
< / pre >
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
< li > < code > 1 < = products.length < = 1000< / code > < / li >
< li > < code > 1 < = products[i].length < = 3000< / code > < / li >
< li > < code > 1 < = sum(products[i].length) < = 2 * 10< sup > 4< / sup > < / code > < / li >
< li > All the strings of < code > products< / code > are < strong > unique< / strong > .< / li >
< li > < code > products[i]< / code > consists of lowercase English letters.< / li >
< li > < code > 1 < = searchWord.length < = 1000< / code > < / li >
< li > < code > searchWord< / code > consists of lowercase English letters.< / li >
< / ul >