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

力扣49. 字母异位词分组(哈希表)

 思路

开始读题,要求我们寻找字母异位的相同字符串,简单来说就是有相同字母的字符串,那么就非常简单,这个题难点在于,存储数据。按照题目的特性,我们运用哈希表来存储有相同字母的字符串。

我们选择map容器,map有键值两个属性,那么我们的键需要存什么,根据题目要求我们找相同字母的字符串。他们有什么特点呢,1.排序后顺序相同,有相同的字母。那么我们就有两个突破口。

1.排序后字符串相同,那么就可以作为我们的键来使用。

 对于值,我们要求的是存字符串的数组,利用vector

建立map容器 map<string,vector<string>> mp;

代码步骤

对于每个字符串我们需要先排序

string x=strs[i];

sort(x.begin(),x.end());

然后存到哈希表里面去

mp[x].emplace_back(strs[i]);

代码展示

map容器可以换成unordered_map无序哈希

  unordered_map<string, vector<string>> mp;
class Solution {
public:vector<vector<string>> groupAnagrams(vector<string>& strs) {vector<vector<string>> num;map<string,vector<string>> mp;for(int i=0;i<strs.size();i++){string ss=strs[i];sort(ss.begin(),ss.end());mp[ss].emplace_back(strs[i]);}//两种写法第一个是迭代器,指针写法,第二个是c++11特性。auto 代表任意数据类型// for(auto it=mp.begin();it!=mp.end();++it)// {//     num.emplace_back(it->second);// }//遍历容器存放字符串数组for(auto x:mp){num.emplace_back(x.second);}return num;}
};

相关文章:

  • DAY03:Vue深度解析之响应式系统与计算属性实战指南
  • 化妆品出口日本需要做什么认证?化妆品出口日本流程,化妆品出口日本介绍
  • Spring Boot 为 MongoDB 自动配置了哪些核心 Bean?
  • 广东省省考备考(第四天5.7)—言语(第二节课)
  • android中的背压问题及解决方案
  • Brain | 大脑的‘逻辑引擎’:右前额网络如何驱动类比与演绎推理?
  • 添加地形与自定义地形
  • 【Python类(Class)完全指南】面向对象编程入门
  • 芳草集精油怎么样?佰草集精油的功效与用法一览
  • 跨平台C++开发解决方案总结
  • MEGA3:分子进化遗传学分析和序列比对集成软件
  • Go语言——error、panic
  • 【Redis】C++如何使用redis
  • Nginx 性能调优与深度监控
  • Linux上将conda环境VLLM服务注册为开机自启
  • “430”“531”光伏政策变革下,安科瑞如何 “保驾护航”?
  • 热部署相关
  • Office365功能特点
  • 7. HTML 表格基础
  • MATLAB技巧——命令行输入的绘图,中文是正常的,到了脚本(m文件)里面就变成乱码的解决方法
  • 印度一战机在巴基斯坦旁遮普省被击落,飞行员被俘
  • 国家税务总局泰安市税务局:山东泰山啤酒公司欠税超536万元
  • 金融监管总局:近五年民企贷款投放年平均增速比各项贷款平均增速高出1.1个百分点
  • 谜语的强制力:弗洛伊德与俄狄浦斯
  • 云南省司法厅党委书记、厅长茶忠旺主动投案,正接受审查调查
  • 外交部:中方和欧洲议会决定同步全面取消对相互交往的限制