算法题(64):字母异位词分组

news/2025/2/12 5:52:29/

审题:

需要我们把strs中的不同组字母异位词分组存储在二维数组中并返回

思路:

字母异位词:虽然他们的字母顺序不同,但是他们的字母类型与个数是完全一样的,也就是说我们对同一组的字母异位词排序之后,他们最终得到的string是一样的

方法一:哈希表

我们可以把排序后的string当成键,把字符串数组当成值,来构成一个unordered_map。

第一步:把strs中的单词按照异位词分组存储在哈希表中。

第二步:把哈希表中的字符串数组(值)给到answer二维数组

解题:

(1)第一步

排序key:这是用来划分字母异位词的,同一组字母异位词得到的排序后的key是一样的。

疑问:为什么不是写成m[key] = s?

因为m中的值不是string类型,我们的值插入要严格按照哈希表定义的类型来。因为m[key]相当于需要存储s字符串的字符串数组的指针,所以可以用emplace_back来尾插字符串s(push_back也可以,只不过因为没有对于自定义类型优化,效率会比较低)

(2)第二步

因为unordered_map也是容器,所以我们访问它的内容还是需要使用迭代器。

注意:
(1)不能写成auto& it = m.begin(),因为左值引用的不能是临时对象

(2)it->first访问的是键,it->second访问的是值


49. 字母异位词分组 - 力扣(LeetCode)


http://www.ppmy.cn/news/1571337.html

相关文章

MarsCode AI插件在IntelliJ IDEA中使用

文章目录 前言一、MarsCode是什么?二、下载三、使用1、登录2、操作界面3、生成代码4、解释代码5、注释代码6、生成单测7、智能修复8、代码补全 总结 前言 随着 AI 技术浪潮席卷而来,各类 AI 工具呈爆发式涌现,深度融入我们的日常与职场&…

宝塔一键部署Wordpress无法打开,显示响应时间太长

之前一直使用宝塔管理服务器,近期又折腾AI,宝塔是卸了装装了卸,服务器安全组规则也是不断地添加删除。DeepSeek最后终于部署好了,但是突然发现建设其他站点时,都是无法访问,这是啥原因了? 最后通…

索引为什么是B+树结构,MySQL有哪些引擎,有什么区别?

目录 为什么索引使用 B+ 树结构? 1. 适合磁盘存储 2. 高效的查询性能 3. 适合大数据量 4. 与 B 树的区别 MySQL 的存储引擎及区别 1. InnoDB 2. MyISAM 3. Memory 4. Archive 5. CSV 6. Blackhole 存储引擎的选择建议 总结 为什么索引使用 B+ 树结构? B+ 树是…

CodeGPT + IDEA + DeepSeek,在IDEA中引入DeepSeek实现AI智能开发

CodeGPT IDEA DeepSeek,在IDEA中引入DeepSeek 版本说明 建议和我使用相同版本,实测2022版IDEA无法获取到CodeGPT最新版插件。(在IDEA自带插件市场中搜不到,可以去官网搜索最新版本) ToolsVersionIntelliJ IDEA202…

企业需要了解的事项:什么是知识中台?

本文的关键要点: 知识中台集中管理关键信息,使员工、客户和合作伙伴能够轻松获取所需内容。通过提供资源和最佳实践的单一存储库,简化了培训和入职流程。知识中台充当自助服务门户,使客户能够快速找到答案,从而减轻支…

mysql8.0使用PXC实现高可用

1.什么是 PXC PXC 是一套 MySQL 高可用集群解决方案,与传统的基于主从复制模式的集群架构相比 PXC 最突出特点就是解决了诟病已久的数据复制延迟问题,基本上可以达到实时同步。而且节点与节点之间,他们相互的关系是对等的。PXC 最关注的是数据…

Unity使用iTextSharp导出PDF-05页面事件

页面事件相关 接口:IPdfPageEvent 定义了页面变化触发的函数类:PdfPageEventHelper 继承接口IPdfPageEvent,函数全部是虚函数,根据需要重写函数。属性 PdfWriter.PageEvent 设置IPdfPageEvent接口对象 页面事件触发时机 OnOpen…

CodeGeeX4+IDEA辅助开发工具

CodeGeex4IDEA 在当今的软件开发领域,随着项目规模的不断扩大和技术的日益复杂,开发人员面临着越来越大的压力。他们需要在短时间内完成大量的代码编写工作,同时还要确保代码的质量和性能。然而,传统的手工编码方式往往效率低下&…