每日一题20201214(49. 字母异位词分组)

简介: 字母异位词分组

49. 字母异位词分组

6.jpg

image-20201214112411400

排序


遍历数组,然后对字符串进行排序,如果是异或词,那他们排序后的值也是一样,利用这一点,通过维护一个默认存放空数组的字典将他们合并到一起。


# 通俗解法
class Solution:
   def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
       ans = {}
       for s in strs:
           key = "".join(sorted(s))
           if ans.get(key) is None:
               ans[key] = [s]
           else:
               ans[key].append(s)
       return list(ans.values())


# 优雅写法
import collections
class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        ans = collections.defaultdict(list)
        for s in strs:
            key = "".join(sorted(s))
            ans[key].append(s)
        return list(ans.values())

7.jpg

image-20201214113138963




相关文章
|
5天前
leetcode代码记录(有效的字母异位词
leetcode代码记录(有效的字母异位词
11 1
|
5天前
leetcode热题100. 字母异位词分组
leetcode热题100. 字母异位词分组
18 0
|
5天前
|
Python C++ Java
C/C++每日一练(20230407) 选择排序法、多数元素、字母异位词分组
C/C++每日一练(20230407) 选择排序法、多数元素、字母异位词分组
38 0
C/C++每日一练(20230407) 选择排序法、多数元素、字母异位词分组
|
5天前
leetcode-49:字母异位词分组
leetcode-49:字母异位词分组
25 0
|
7月前
|
算法 程序员
力扣刷题-字母异位词分组
力扣刷题-字母异位词分组
|
11月前
|
API
leetcode:49.字母异位词分组
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
46 0
|
11月前
Leecode 242. 有效的字母异位词
Leecode 242. 有效的字母异位词
48 0
|
11月前
|
存储 算法 前端开发
前端算法-字母异位词
前端算法-字母异位词
|
12月前
|
存储 机器学习/深度学习
LeetCode 49 字母异位词分组
LeetCode 49 字母异位词分组
58 0
|
存储 算法