Problem
Ask
Submissions

Problem: Search Suggestions System

Medium
30 min
Explore how to design a search suggestions system that provides up to three lexicographically ordered product suggestions as each character is typed. Learn to apply trie data structures to optimize prefix searches, helping you solve coding interview problems effectively by understanding underlying patterns.

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
  • 11 \leq sum(products[i].length) 2×103\leq 2 \times 10^3
  • All the strings of products are unique.
  • products[i] consists of lowercase English letters.
  • 11 \leq searched word.length 1000\leq 1000
  • The searched word consists of lowercase English letters.
Problem
Ask
Submissions

Problem: Search Suggestions System

Medium
30 min
Explore how to design a search suggestions system that provides up to three lexicographically ordered product suggestions as each character is typed. Learn to apply trie data structures to optimize prefix searches, helping you solve coding interview problems effectively by understanding underlying patterns.

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
  • 11 \leq sum(products[i].length) 2×103\leq 2 \times 10^3
  • All the strings of products are unique.
  • products[i] consists of lowercase English letters.
  • 11 \leq searched word.length 1000\leq 1000
  • The searched word consists of lowercase English letters.