Дан массив строк strs
. Необходимо сгруппировать все анаграммы вместе и вернуть ответ в любом порядке.
Анаграмма - это слово или фраза, образованная путем перестановки букв другого слова или фразы, обычно с использованием всех исходных букв ровно один раз.
strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
\
Вывод: [["eat","tea","ate"],["tan","nat"],["bat"]]
strs = [""]
\
Вывод: [[""]]
strs = ["a"]
\
Вывод: [["a"]]
dict
.strs
отсортировать буквы и сохранить результат как key
.key
уже есть в словаре, добавить текущую строку в значение по этому ключу.key
отсутствует в словаре, создать новый ключ со значением в виде списка, содержащего только текущую строку.Возьмем в качестве примера массив строк strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
. \
dict = {}
."eat"
отсортируем буквы и получим "aet"
. Сохраняем "aet"
как ключ в словаре с пустым списком значений. dict = {"aet": []}
."tea"
отсортируем буквы и получим "aet"
. Такой ключ уже есть в словаре, добавляем "tea"
в список значений по этому ключу. dict = {"aet": ["eat", "tea"]}
."tan"
отсортируем буквы и получим "ant"
. Такого ключа нет в словаре, создаем новый ключ со значением в виде списка, содержащего только "tan"
. dict = {"aet": ["eat", "tea"], "ant": ["tan"]}
.