Skip to content

Latest commit

 

History

History
47 lines (31 loc) · 1.11 KB

49. Group Anagrams[Medium].md

File metadata and controls

47 lines (31 loc) · 1.11 KB
  • problem

    Given an array of strings strs, group the anagrams together. You can return the answer in any order.
    
    An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.
    
     
    
    Example 1:
    
    Input: strs = ["eat","tea","tan","ate","nat","bat"]
    Output: [["bat"],["nat","tan"],["ate","eat","tea"]]
    Example 2:
    
    Input: strs = [""]
    Output: [[""]]
    Example 3:
    
    Input: strs = ["a"]
    Output: [["a"]]
     
    
    Constraints:
    
    1 <= strs.length <= 104
    0 <= strs[i].length <= 100
    strs[i] consists of lowercase English letters.
  • solve

    from collections import defaultdict
    
    class Solution:
        def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
            ans = []
            dic = defaultdict(list)
            
            for s in strs:
                dic[''.join(sorted(s))].append(s)
    
            for value in dic.values():
                ans.append(value)
            return ans