假设我们有一组字符串。我们必须将字谜分组在一起。因此,如果[[进餐],“茶”,“棕褐色”,“吃”,“ nat”,“蝙蝠”]],则这些组是[[“吃”,“吃”,“茶”],[“ nat“,” tan“],[” bat“]]
为了解决这个问题,我们将遵循以下步骤-
将res定义为映射
对于我在字符串数组
在结果中插入我[x]
x:= x并连接,对i进行排序
如果x结果
其他结果[x]:= [i]
以列表形式返回res的值
让我们看下面的实现以更好地理解-
class Solution: def groupAnagrams(self, strs): result = {} for i in strs: x = "".join(sorted(i)) if x in result: result[x].append(i) else: result[x] = [i] return list(result.values()) ob1 = Solution() print(ob1.groupAnagrams(["eat", "tea", "tan", "ate", "nat", "bat"]))
["eat", "tea", "tan", "ate", "nat", "bat"]
输出结果
[["ate","eat","tea"],["nat","tan"],["bat"]]