【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())
相关推荐
棒棒的皮皮19 小时前
【OpenCV】Python图像处理之特征提取
图像处理·python·opencv
用户5769053080119 小时前
微调入门尝试:沐雪角色扮演
python·llm
ku_code_ku19 小时前
python几种包管理器的分析比较
开发语言·python·包管理器
CoderYanger19 小时前
递归、搜索与回溯-记忆化搜索:40.矩阵中的最长递增路径
java·线性代数·算法·leetcode·矩阵·1024程序员节
2301_7951672019 小时前
Python 高手编程系列一十三:现实例子 — 延迟求值属性
开发语言·windows·python
h***047719 小时前
爬虫学习案例3
爬虫·python·学习
2501_9160088920 小时前
Python抓包HTTPS详解:Wireshark、Fiddler、Charles等工具使用教程
python·ios·小程序·https·uni-app·wireshark·iphone
Gitpchy20 小时前
Day 58 经典时序模型2
python
2301_7951672020 小时前
Python 高手编程系列一十五:使用 __new __()方法覆写实例创建过程
开发语言·网络·python
轻竹办公PPT20 小时前
AI一键生成年终总结PPT
人工智能·python·powerpoint