java.lang.Object
g1201_1300.s1268_search_suggestions_system.Solution

public class Solution extends Object
1268 - Search Suggestions System.<p>Medium</p> <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><strong>Example 1:</strong></p> <p><strong>Input:</strong> products = [&ldquo;mobile&rdquo;,&ldquo;mouse&rdquo;,&ldquo;moneypot&rdquo;,&ldquo;monitor&rdquo;,&ldquo;mousepad&rdquo;], searchWord = &ldquo;mouse&rdquo;</p> <p><strong>Output:</strong></p> <pre><code> [ [&quot;mobile&quot;,&quot;moneypot&quot;,&quot;monitor&quot;], [&quot;mobile&quot;,&quot;moneypot&quot;,&quot;monitor&quot;], [&quot;mouse&quot;,&quot;mousepad&quot;], [&quot;mouse&quot;,&quot;mousepad&quot;], [&quot;mouse&quot;,&quot;mousepad&quot;] ] </code></pre> <p><strong>Explanation:</strong> products sorted lexicographically = [&ldquo;mobile&rdquo;,&ldquo;moneypot&rdquo;,&ldquo;monitor&rdquo;,&ldquo;mouse&rdquo;,&ldquo;mousepad&rdquo;] After typing m and mo all products match and we show user [&ldquo;mobile&rdquo;,&ldquo;moneypot&rdquo;,&ldquo;monitor&rdquo;] After typing mou, mous and mouse the system suggests [&ldquo;mouse&rdquo;,&ldquo;mousepad&rdquo;]</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> products = [&ldquo;havana&rdquo;], searchWord = &ldquo;havana&rdquo;</p> <p><strong>Output:</strong> [[&ldquo;havana&rdquo;],[&ldquo;havana&rdquo;],[&ldquo;havana&rdquo;],[&ldquo;havana&rdquo;],[&ldquo;havana&rdquo;],[&ldquo;havana&rdquo;]]</p> <p><strong>Example 3:</strong></p> <p><strong>Input:</strong> products = [&ldquo;bags&rdquo;,&ldquo;baggage&rdquo;,&ldquo;banner&rdquo;,&ldquo;box&rdquo;,&ldquo;cloths&rdquo;], searchWord = &ldquo;bags&rdquo;</p> <p><strong>Output:</strong> [[&ldquo;baggage&rdquo;,&ldquo;bags&rdquo;,&ldquo;banner&rdquo;],[&ldquo;baggage&rdquo;,&ldquo;bags&rdquo;,&ldquo;banner&rdquo;],[&ldquo;baggage&rdquo;,&ldquo;bags&rdquo;],[&ldquo;bags&rdquo;]]</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>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details