Search⌘ K
AI Features

DIY: Group Anagrams

Explore how to group anagrams effectively in Scala by implementing a function that clusters words formed by rearranging letters. This lesson helps you understand how to categorize similar strings, a skill useful for technical interviews and real-world applications like search optimization.

Problem Statement

You are given a list of words or phrases, and you need to group the words that are anagrams of each other. An anagram is a word, phrase, or sentence formed from another word by rearranging its letters.

Input

The input will be a list of words or phrases. The following is an example of input:

{"word", "sword", "drow", "rowd", "iced", "dice"}

Output

The output should be an Iterable list of grouped words. The following is an example output:

{{"word", "drow", "rowd"}, {"sword"}, {"iced", "dice"}}

Coding exercise

You need to implement the function groupAnagrams(strs), where strs is the list of words you need to group together. The function returns a list containing multiple lists of the newly created groups.

Scala
object Solution {
def groupAnagrams(strs:List[String]):Iterable[List[String]] = {
//write your code here
val res = scala.collection.mutable.Map[List[Int], List[String]]()
res.values
}
}
Group Anagrams