【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())
相关推荐
阿荻在肝了2 分钟前
Agent学习四:RAG 技术应用
python·学习·agent
ZC跨境爬虫6 分钟前
Base64编码详解(含JS_Python实现+实战逆向案例)
前端·javascript·python
小陈工19 分钟前
Python Web开发入门(八):用户认证系统实现,给你的应用加上安全锁
开发语言·前端·数据库·python·安全·django·sqlite
铅笔侠_小龙虾23 分钟前
Miniconda + Poetry 实战
开发语言·python
深海空无一人31 分钟前
python基础
开发语言·python
极光代码工作室37 分钟前
基于NLP的电商评论情感分析系统
python·深度学习·自然语言处理·情感分析·文本挖掘
csdn2015_40 分钟前
List<DocumentMetadata> 取所有docid,组成List<String>
windows·python·list
liuyao_xianhui44 分钟前
优选算法_岛屿的最大面积_floodfill算法_C++
java·开发语言·数据结构·c++·算法·leetcode·链表
清水白石0081 小时前
《Python 静态检查链:格式化、Lint、类型检查、安全扫描全攻略——CI 阻断策略与团队平衡实践》
python·安全·ci/cd
soragui1 小时前
【Python】第 2 章:Python 对象模型
开发语言·python