Feature 1: Group Similar Titles
Problem Statement
Suppose you are building an app like Netflix and the content library contains the following titles: "duel", "dule", "speed", "spede", "deul", "cars"
. How would you efficiently implement a functionality so that if a user misspells speed
as spede
, they are shown the correct title?
We want to split the list of titles into sets of words so that all words in a set are anagrams. In the above list, there are three sets: {"duel", "dule", "deul"}, {"speed", "spede"}, and {"cars"}
. Search results should comprise all members of the set that the search string is found in. We should pre-compute these sets instead of forming them when the user searches for a title.
Similar problem on LeetCode: Group Anagrams