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

LeetCode每日练习题---49.字母异位词分组

49.字母异位词分组

条件

已知: 字符串数组

目标: 将字母异位词组合在一起

思想(时间复杂度太高超时了)

我的想法是,双重遍历的暴力方法 , 先对字符串数组中的元素进行遍历 ,第一层遍历,然后在第二层遍历中找与第一层遍历的元素是字母异位词的元素,对于第一层遍历要去重,我们可以用一个大字典包含好几个小字典,然后如果此次字符的字典在大字典中我们可以直接跳过。最后输出

classSolution:defgroupAnagrams(self,strs:List[str])->List[List[str]]:n=len(strs)used=[False]*n result=[]foriinrange(n):ifused[i]:continuecount_s={}forcinstrs[i]:count_s[c]=count_s.get(c,0)+1current_group=[strs[i]]used[i]=Trueforjinrange(i+1,n):ifused[j]:continuecount_t={}forcinstrs[j]:count_t[c]=count_t.get(c,0)+1ifcount_s==count_t:current_group.append(strs[j])used[j]=Trueresult.append(current_group)returnresult

思想(正确—官方答案)

由于字母异位词是区分大小写的,所以我们可以把字母进行排序,然后通过比较是否一致即可知道是否为字母异位词

具体代码

fromcollectionsimportdefaultdictfromtypingimportListclassSolution:defgroupAnagrams(self,strs:List[str])->List[List[str]]:ans=defaultdict(list)forsinstrs:count=[0]*26# 26个字母forcins:count[ord(c)-ord('a')]+=1# 列表不能当key,转成元组#tuple(count)即为一个key标记同一种字母异位,而相应的value则为一组组的字母异位词ans[tuple(count)].append(s)returnlist(ans.values())

补充知识

from collections import defaultdict:

​ 它是python自带的工具 ,用来创建一个更加聪明的字典

​ 普通字典:在遇到不存在的key时会报错

​ 而智能字典:在遇到不存在的key时,会自动创建空列表[]

ord:是python内置函数,作用是返回这个字符的ASCII码

tuple(): 是将列表转化为元组 ,让他能当字典的key

​ 列表[]:可变 →不能当字典 key

​ 元组():不可变 →可以当字典 key

本文为新手代码训练记录,实现可能不够完善。若存在错误或有更优思路,欢迎各位大佬在评论区留言指正,一起学习进步!

http://www.jsqmd.com/news/576548/

相关文章:

  • WeMod Patcher终极实战指南:3步解锁Pro功能的完整方案
  • 手机端事故勘查:2026 支持智能手机的道路交通事故快速勘查系统有哪些 - 品牌2026
  • 告别臃肿数据!Python netCDF4实战:3步教你从巨型nc文件中快速提取指定区域
  • AI辅助设计:Coze-Loop优化SolidWorks宏命令
  • 高效M3u8视频下载解决方案:全方位解析与实战指南
  • Coze 开发AI 智能体的流程
  • 为什么要用 import.meta.glob 加载 SVG 图标库
  • 土壤检测机构推荐 适配多场景需求 - 优质品牌商家
  • 朋友来家里做客,外卖点什么撑场面?美团周末五折外卖,省钱又有面 - 资讯焦点
  • Qwen2.5-14B-Instruct应用案例:像素剧本圣殿辅助残障创作者剧本写作
  • 华硕笔记本风扇异常修复终极指南:用G-Helper轻松解决散热问题
  • 告别nRF Mesh APP:用两块ESP32S3手把手搭建你的第一个BLE Mesh网络(附完整代码分析)
  • OpenClaw权限控制:安全使用SecGPT-14B执行高危操作
  • 2026年太阳膜安装靠谱商家排名,太阳膜延长寿命方法与使用年限探讨 - 工业设备
  • 2026年客服机器人哪家好?好用智能客服系统精选推荐 - 品牌2026
  • 避坑指南:Qt动态库开发中90%人会踩的5个坑(含DESTDIR配置误区)
  • 2026 年论文怎么降 AI 率?5 款免费工具实测,谁技术最强? - 资讯焦点
  • AA-PEG-VE,AA-PEG-Vitamin E,用于修饰蛋白质、多肽以及其他含有氨基的材料
  • FanControl:掌控散热与静音平衡的全方位解决方案指南
  • Instant-NGP实战:5分钟用CUDA加速你的NeRF模型渲染(附代码片段)
  • YOLOv12官版镜像多GPU支持详解:快速验证与问题排查
  • Pixel Couplet Gen部署教程:Nginx反向代理+HTTPS安全访问配置
  • 「码动四季·开源同行」go语言:如何追踪分布式系统调用链路的问题?
  • https证书都有哪些?便宜的https证书推荐 - 麦麦唛
  • DXVK技术深度解析:基于Vulkan的Direct3D转换层实现原理与实践指南
  • AI写专著超实用攻略:精选工具推荐,提升写作效率与质量
  • 告别环境配置!PyTorch通用开发镜像实测:一键部署,小白友好
  • 保姆级避坑指南:用Livox官方工具搞定Mid-360多雷达自动标定(附源码Bug修复)
  • Windows资源管理器STL文件预览革命:3D模型管理从此轻松高效
  • Godot PCK文件高效解包全攻略:从资源提取到实战应用