Editorial for Facebook Hacker Cup '15 Round 1 P2 - Autocomplete


Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.

The go-to data structure for this problem is a trie. As each word comes in, we add it to the trie in \mathcal O(L) time, where L is the length of the word. In the same amount of time, we can determine what the shortest unique prefix is. If we traverse the trie all the way to the end of a word W, then some word W' must already exist that has W as a prefix. In this case, we must type all of W. However, if we hit a leaf node in the trie, then we know that the prefix we'll type is one letter longer than the word stored in that leaf node.


Comments

There are no comments at the moment.