gary@interview:~/interview/coding/49-group-anagrams.md$
$ cat ./coding/49-group-anagrams.md
[Coding]

49. Group Anagrams

────────────────────────────────────────────────────────────

49. Group Anagrams

Anagram 的特性就是裡面的每個字元出現的頻率相同,如果經過排序的話,只要是 Anagram 就一定會一樣。

利用這個特性,我們將每個詞都排序過,當作 key ,在 Hash table 裡面去把每個 anagram 加到那個 arrary 裡面。

class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        table = defaultdict(list)
        for s in strs:
            table[tuple(sorted(s))].append(s)
        return list(table.values())

--tags#Hash Table
$ ls ./coding/ | grep -v 49-group-anagrams
265. Paint House II256. Paint House143. Reorder List1762. Buildings With an Ocean View
← cd ../codingcd ~