Arrays & hashingLeetCode 49

Lesson 13 of 76

Group Anagrams

Group a list of words so that anagrams end up together.

Watch on YouTube

Lesson notes

Try it before you watch

Restate the problem in your own words, list the edge cases, and sketch a solution with its running time. Then play the video and compare.

Reveal the key idea

Give every word a canonical key, such as its sorted letters or a 26-letter count tuple, and collect words by key in a dictionary.

Pattern: Arrays & hashing. Trade memory for speed: sets and dictionaries answer 'have I seen this?' in O(1).

Complexity

Cost of the standard optimal approach for Group Anagrams
Measure Bound
Time O(n · k log k) with sorted keys
Extra space O(n · k)

Walkthroughs often start from a simpler approach first; aim to reach these bounds. New to Big-O? Read understanding algorithmic complexity.