【LeetCode】49. 字母异位词分组

1 问题

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

示例 1:

输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]

输出: [["bat"],["nat","tan"],["ate","eat","tea"]]

示例 2:

输入: strs = [""]

输出: [[""]]

示例 3:

输入: strs = ["a"]

输出: [["a"]]

2 答案

这题直接不会

官方解,使用字典记录,其中字典的键,必须是不可变类型,所以用tuple。

python 复制代码
class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        dict = {}
        for s in strs:
            key = tuple(sorted(s))  # 字典的键用tuple
            dict[key] = dict.get(key,[]) + [s]  # get(key,[]) get 不到则返回[]
        return list(dict.values())
相关推荐
一路向阳~负责的男人4 分钟前
PyTorch / CUDA 是什么?它们的关系?
人工智能·pytorch·python
摸个小yu8 分钟前
【力扣LeetCode热题h100】哈希、双指针、滑动窗口
算法·leetcode·哈希算法
aloha_78910 分钟前
乐信面试准备
java·spring boot·python·面试·职场和发展·maven
火云洞红孩儿15 分钟前
零基础:100个小案例玩转Python软件开发!第六节:英语教学软件
开发语言·python
2401_8414956415 分钟前
深度卷积生成对抗网络(DCGAN)
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·深度卷积生成对抗网络
忧郁的橙子.22 分钟前
26期_01_Pyhton函数进阶
python
充值修改昵称26 分钟前
数据结构基础:B+树如何优化数据库性能
数据结构·b树·python·算法
AI殉道师27 分钟前
FastScheduler:让 Python 定时任务变得优雅简单
开发语言·python
小二·38 分钟前
Python Web 开发进阶实战:AI 伦理审计平台 —— 在 Flask + Vue 中构建算法偏见检测与公平性评估系统
前端·人工智能·python
We་ct1 小时前
LeetCode 12. 整数转罗马数字:从逐位实现到规则复用优化
前端·算法·leetcode·typescript