news 2026/5/10 17:00:26

2.字母异位词分组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2.字母异位词分组

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

方法一:哈希表

经过遍历将共性(也就是要求的字母异位词的共性:单词个数相同,单词种类相同)作为键,个性作为值存储起来,二次查找时仅需要O(1)的时间复杂度。

注意:可变数据不能作为键

使用哈希表:后值与遍历过的值有联系。

class Solution(object): def groupAnagrams(self, strs): hash_map=collections.defaultdict(list) for str in strs: sort_str="".join(sorted(str)) hash_map[sort_str].append(str) return list(hash_map.values())

时间复杂度O(N * K log K)

空间复杂度O(N * K)

方法二:计数法

以字符串所含字符的个数为键

class Solution(object): def groupAnagrams(self, strs): mp=collections.defaultdict(list) for str in strs: counts=[0]*26 for char in str: counts[ord(char)-ord("a")]+=1 mp[tuple(counts)].append(str) return list(mp.values())

总结:

1.哈希:解决以O(1)时间复杂度寻找遍历过后的元素

2.mp=collections.defaultdict(list) 初始化字典,在没有键的时候不报错,默认创建list

3.可变变量不能作为键

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 23:33:32

Agent通信协议深度解析

Agent-to-Agent协议深度解析:构建多Agent通信系统 从MCP到A2A,理解Agent通信的下一个范式转移 前言:从单Agent到多Agent协作 2025年,MCP(Model Context Protocol)让AI Agent能够调用外部工具。但随着Agent系统越来越复杂,一个新问题浮出水面:Agent之间怎么通信? 想象…

作者头像 李华
网站建设 2026/5/8 23:31:12

在Node.js后端服务中集成Taotoken多模型API的详细步骤

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Node.js后端服务中集成Taotoken多模型API的详细步骤 对于Node.js开发者而言,将大模型能力集成到后端服务中已成为构建…

作者头像 李华
网站建设 2026/5/8 23:25:32

2025届毕业生推荐的六大AI辅助写作方案实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于内容创作里头,去降低人工智能生成率(称作“降AI率”)乃…

作者头像 李华
网站建设 2026/5/8 23:13:36

如何快速激活Windows和Office:智能激活工具的完整使用教程

如何快速激活Windows和Office:智能激活工具的完整使用教程 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统和Office办公软件的正版授权问题而烦恼吗?KM…

作者头像 李华