当前位置: 首页 > article >正文

力扣之字母异位词分组(python)

题目

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

示例 1:

输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
输出: [["bat"],["nat","tan"],["ate","eat","tea"]]

示例 2:

输入: strs = [""]
输出: [[""]]

示例 3:

输入: strs = ["a"]
输出: [["a"]]

提示:

  • 1 <= strs.length <= 104
  • 0 <= strs[i].length <= 100
  • strs[i] 仅包含小写字母

解题思路

取出strs中的每一个单词并用sorted排列,若排列后的值不存在于字典中,则直接将值以列表放入以排列之后的值的valuse中,若以存在,则直接加入到对应的valuse中,最后返回所有的values

代码

class Solution(object):
    def groupAnagrams(self, strs):
        """
        :type strs: List[str]
        :rtype: List[List[str]]
        """
        n = len(strs)
        strs_dict = {}
        for i in range(n):
            new_num = str(sorted(strs[i]))
            print(new_num)
            if new_num in strs_dict:
                strs_dict[new_num].append(strs[i])
            else:
                strs_dict[new_num] = [strs[i]]
        return list(strs_dict.values())

结果


http://www.kler.cn/a/279914.html

相关文章:

  • OpenCV(第二关--读取图片和摄像头)实例+代码
  • CDGA|如何有效管理和利用数据成为了企业面临的一大挑战
  • 机器学习之标量和向量的定义
  • bypass disable_function绕过
  • MATLAB 低版本Matlab-读取LAS格式点云文件并可视化(78)
  • 左连接、右连接、自连接、内连接、全连接、NUION操作符
  • Java笔试面试题AI答之面向对象(5)
  • 设计模式设计原则
  • 【C#】【EXCEL】Bumblebee/Classes/ExRange.cs
  • 【STM32】PWR电源控制(低功耗模式)
  • 谷歌浏览器 Google Chrome 禁止扩展.crx更新
  • 【详细】mysql常用命令行大全,优雅的在命令提示符(CMD)中使用mysql 命令。
  • echarts组件——条形统计图
  • PHP概述-特点-应用领域-如何学习
  • PowerShell自动化Windows系统管理任务
  • ubuntu 20.04系统安装pytorch
  • Linux—互斥锁
  • 云原生周刊:KubeSphere 宣布开源 Thanos 的企业级发行版 Whizard
  • 深入解析SSRF和Redis未授权访问
  • 深度学习100问3-什么是共现矩阵及其作用