新的网站怎么推广,wordpress怎样建立多站点,wordpress大门户主题,洛阳 网站建设 大师字画题目#xff1a; 给你一个字符串数组#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 来源#xff1a;力扣#xff08;LeetCode#xff09; 链接#xff1a;力扣 示例#xff1a; 示… 题目 给你一个字符串数组请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 来源力扣LeetCode 链接力扣 示例 示例 1 输入strs [eat, tea, tan, ate, nat, bat] 输出[[bat],[nat,tan],[ate,eat,tea]] 示例 2 输入strs [] 输出[[]] 示例 3 输入strs [a] 输出[[a]] 解法 首先将输入的每个单词根据字母顺序排序转为元组因为元组是可哈希的接着将所有排序后的单词转为集合因为用set函数转set只接收可哈希对象所以之前用元组。因为每个单词已根据字母顺序排过序所以单词异位词此时是一样的使用集合去重然后转为列表。设结果存放在resultresult初始化为二维列表每个元素是空列表元素个数为集合长度。然后开始往result中加入结果遍历strs将每个单词根据字母顺序排序然后去列表中查找所在位置因为要使用index内置函数所以上面将集合转为列表。得到列表下标后将原单词加入result对应下标的列表中。 知识点 1.可哈希int、float、str、tuple是可以哈希的list、set、dict是不可哈希的。 2.tuple(iterable)iterable是序列集合或迭代器对象创建一个元组对象。 代码 class Solution:def groupAnagrams(self, strs: List[str]) - List[List[str]]:list1 list(set(map(lambda x: tuple(sorted(x)), strs)))result [[] for _ in range(len(list1))]for index, word in enumerate(list(map(sorted, strs))):result[list1.index(tuple(word))].append(strs[index])return result