Search⌘ K
AI Features

Solution: Search Suggestions System

Discover how to implement a search suggestions system using the trie data structure to efficiently suggest product names matching prefixes as each character is typed. Learn step-by-step how sorting and trie insertion reduce time complexity, allowing fast prefix searches and lexicographical ordering to return up to three suggestions for every substring of the search word.

Statement

Given an array of strings called products and a word to search, design a system that, when each character of the searched word is typed, suggests at most three product names from products. Suggested products should share a common prefix with the searched word. If more than three products exist with a common prefix, return the three product names that appear first in lexicographical order.

Return the suggested products, which will be a list of lists after each character of searched word is typed.

Constraints:

  • 11 \leq products.length 1000\leq 1000
  • 11 \leq products[i].length 3000\leq 3000
...