Python中的组字谜

假设我们有一组字符串。我们必须将字谜分组在一起。因此,如果[[进餐],“茶”,“棕褐色”,“吃”,“ nat”,“蝙蝠”]],则这些组是[[“吃”,“吃”,“茶”],[“ nat“,” tan“],[” bat“]]

为了解决这个问题,我们将遵循以下步骤-

  • 将res定义为映射

  • 对于我在字符串数组

    • 在结果中插入我[x]

    • x:= x并连接,对i进行排序

    • 如果x结果

    • 其他结果[x]:= [i]

    • 以列表形式返回res的值

    示例(Python)

    让我们看下面的实现以更好地理解-

    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"]]