Twitch Search needs to return relevant autocomplete suggestions as a viewer types. Given unique search phrases with popularity scores, build a Trie-backed autocomplete system that returns the best matching phrases for each prefix.
Rank suggestions by descending score. If two phrases have the same score, order them lexicographically. Return at most k suggestions for every query prefix.
Implement autocomplete(entries, queries, k), where entries is a list of [phrase, score] pairs, queries is a list of prefixes, and k is the maximum number of suggestions. Return a list whose ith element contains the ranked suggestions for queries[i].
Phrases and prefixes contain lowercase English letters and spaces. Matching is case-sensitive. The input contains no duplicate phrases.
def autocomplete(entries, queries, k):