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

LeeCode题库第四十九题

49.字母异位词分组 

项目场景:

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

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

示例 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] 仅包含小写字母


问题描述

        把每种字母出现次数都相同的字符串都加入同一组中,例如aab、aba、baa可以分到同一组中,而bba不行。把aab、aba、baa排序可以得到aab,而其他字符串不行。于是可以利用哈希表,字符串排序后相同的字符串分到一组,sorted将字符串按字母序分成一个个的字符,所以需要使用join将拆开的字符连接成字符串,排序后相同的字符串加入到同一组,最后将字典的值加到列表中返回即可。

class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        str_dict=defaultdict(list)
        for s in strs:
            sorted_s=''.join(sorted(s))
            str_dict[sorted_s].append(s)
        return list(str_dict.values())
        

        本题提交情况。 

 

        以上为本篇文章的全部内容,感谢你抽出宝贵的时间阅读这篇文章。如果你有任何疑问或建议,欢迎在评论区留言,我们一起交流进步。愿你的代码之路越走越顺,生活充满阳光!   

相关文章:

  • ES6 字符串和正则表达式
  • 72. 编辑距离
  • 线性搜索算法
  • 《几何原本》命题I.31
  • JVM常用概念之代际障碍
  • Selenium的免登录和滚动条到底部的学习总结(3)
  • 焕新|16GB+1TB 、UV 双段,AORO M8 防爆手机安全性能双升级
  • 使用pnpm管理前端项目依赖
  • 数字IC后端项目典型问题(2025.03.10数字后端项目问题记录)
  • SQL Server 列存储索引:大幅提升查询性能的利器
  • TDengine 配置 ODBC 数据源
  • c#如何直接获取json中的某个值
  • Bad owner or permissions on ssh/config - 解决方案
  • 表、索引统计信息锁定和解锁
  • 第十课:爬虫综合实战:从数据采集到可视化分析
  • K8s 1.27.1 实战系列(十二)Ingress
  • Redis----大key、热key解决方案、脑裂问题
  • 【教学类-43-25】20240311 数独3宫格的所有可能(图片版 12套样式,空1格-空8格,每套510张,共6120小图)
  • DTL698电表数据 转 EthernetIP协议项目案例
  • 大模型安全新范式:DeepSeek一体机内容安全卫士发布
  • 坚决打好产业生态培育攻坚战!陈吉宁调研奉贤区
  • 竞彩湃|欧联杯决赛前,曼联、热刺继续划水?
  • 艺术稀缺性和价值坚守如何构筑品牌差异化壁垒?从“心邸”看CINDY CHAO的破局之道
  • 哈马斯官员:若实现永久停火,可交出加沙地带控制权
  • 北京警方:海淀发生小客车刮碰行人事故4人受伤,肇事司机已被查获
  • 著名词作家陈哲逝世,代表作《让世界充满爱》《同一首歌》等