【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())
相关推荐
深蓝电商API3 分钟前
从 “能爬” 到 “稳爬”:Python 爬虫中级核心技术实战
开发语言·爬虫·python
czlczl2002092519 分钟前
如何添加“默认给Sql查询语句加上租户条件”的功能
数据库·python·sql
破烂pan20 分钟前
Python 长连接实现方式全景解析
python·websocket·sse
高洁0121 分钟前
一文了解图神经网络
人工智能·python·深度学习·机器学习·transformer
咸鱼加辣24 分钟前
按“最近是否用过”删(LRU)
python
serve the people36 分钟前
tensorflow 零基础吃透:创建 tf.sparse.SparseTensor 的核心方法
人工智能·python·tensorflow
测试老哥38 分钟前
UI自动化测试—Jenkins配置优化
自动化测试·软件测试·python·测试工具·ui·jenkins·测试用例
曲幽39 分钟前
Python包管理告别龟速下载:uv工具国内镜像与离线安装实战
python·conda·pip·uv·venv·uvx
XFF不秃头1 小时前
力扣刷题笔记-下一个排列
c++·笔记·算法·leetcode
hn小菜鸡1 小时前
LeetCode 1306.跳跃游戏III
算法·leetcode·游戏