Feature #1: Group Similar Titles
Implementing the "Group Similar Titles" feature for our "Netflix" project.
We'll cover the following...
Description
First, we need to figure out a way to individually group all the character combinations of each title. Suppose 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 array of titles into sets of words so that all words in a set are anagrams. In the above array, 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 a title.
Here is an illustration of this process:
Solution
From the above description, we see that all members of each set are characterized by the same frequency of each alphabet. This means that the frequency of each alphabet in ...