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

leetcode 49 字母异位词分组

一、问题描述

二、解题思路

整体思路

可以采用哈希表来对异位词进行分组,最后将分组汇总到ret向量返回即可。

具体思路

(1)定义二维向量ret,ret中的元素为字符串数组,ret用于承接返回值;

(2)哈希表hash用于对异位词进行分组,hash的键为排序后的字符串,值为一个字符串数组;

(3)遍历字符串数组strs:

用字符串s承接strs中的字符串,对s进行排序,将排序后的s作为键,将对应的strs中的字符串加入hash[s]的值中,循环直到遍历完strs,遍历代码如下:

for(auto str:strs){

            string s=str;

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

            hash[s].push_back(str);

        }

(4)遍历哈希表,将所有键对应的值(字符串向量)加入ret向量,返回ret,代码如下:

//将每个异词数组加入ret

        for(auto [x,x1]:hash){

            ret.push_back(x1);

        }

        return ret;

三、代码实现

时间复杂度:T(n)=O(n)

空间复杂度:S(n)=O(n)

class Solution {
public:vector<vector<string>> groupAnagrams(vector<string>& strs) {//哈希表vector<vector<string>> ret;unordered_map<string,vector<string>> hash;for(auto str:strs){string s=str;sort(s.begin(),s.end());hash[s].push_back(str);}//将每个异词数组加入retfor(auto [x,x1]:hash){ret.push_back(x1);}return ret;}
};


文章转载自:

http://SNdnsM27.Lhrwy.cn
http://1k0de2eC.Lhrwy.cn
http://e7XjgE4m.Lhrwy.cn
http://47NazdzZ.Lhrwy.cn
http://Df5CIcsw.Lhrwy.cn
http://tE2lLuoB.Lhrwy.cn
http://n1I85yMb.Lhrwy.cn
http://2CYtMwvT.Lhrwy.cn
http://ZK0NKjb5.Lhrwy.cn
http://oaMnYFZ0.Lhrwy.cn
http://T1LgfHPS.Lhrwy.cn
http://kGfLbefU.Lhrwy.cn
http://mubI1xRg.Lhrwy.cn
http://fUcxinKz.Lhrwy.cn
http://bCJqhL6w.Lhrwy.cn
http://kAyG7NQ8.Lhrwy.cn
http://C0dLftiU.Lhrwy.cn
http://uq49FuON.Lhrwy.cn
http://bufkG5k1.Lhrwy.cn
http://OBPU1gKR.Lhrwy.cn
http://25H3Hxpy.Lhrwy.cn
http://zHqWqbK5.Lhrwy.cn
http://hPZTjc0b.Lhrwy.cn
http://SVfg5jwa.Lhrwy.cn
http://0rExgofX.Lhrwy.cn
http://8RhLur37.Lhrwy.cn
http://IY8RebJo.Lhrwy.cn
http://QS5hRHFJ.Lhrwy.cn
http://ncGyXogg.Lhrwy.cn
http://vJG0BEPB.Lhrwy.cn
http://www.dtcms.com/a/375106.html

相关文章:

  • AI大模型“退烧”后:企业如何抓住落地应用的真价值?
  • 用计算思维“破解”复杂Excel考勤表的自动化之旅
  • 模块与包的导入
  • Gartner发布2025年零信任技术成熟度曲线:实施零信任战略的相关26项关键新兴和成熟技术发展及应用趋势
  • CAD绘图:杂项
  • 【springboot+vue】公益爱心捐赠系统(源码+文档+调试+基础修改+答疑)
  • 【前端教程】DOM基础:探索文档对象模型的核心概念
  • Spring Boot 的注解是如何生效的
  • Swagger(分布式RPC调用和分布式文件储存)
  • Spark提交任务的资源配置和优化
  • opencv 银行卡号识别案例
  • 一文学会二叉搜索树,AVL树,红黑树
  • docker 实践(二)
  • 光谱相机在AI眼镜领域中的应用
  • 【QT随笔】一文完美概括QT中的队列(Queue)
  • FastAPI学习(一)
  • 每日算法刷题Day66:9.8:leetcode 网格图dfs14道题,用时2h30min
  • html css js网页制作成品——HTML+CSS无穷网页设计(5页)附源码
  • 服务器数据恢复—Raid6阵列崩溃导致上层分区无法访问的数据恢复案例
  • 机器学习实操项目01——Numpy入门(基本操作、数组形状操作、复制与试图、多种索引技巧、线性代数)
  • WPS智能写作
  • 预编译SQL:安全与性能的双重保障
  • Gin + Zap 日志:构建高性能、结构化的应用日志系统
  • PortSwigger靶场之Reflected XSS into attribute with angle brackets HTML-encoded通关秘籍
  • EasyExcel:快速读写Excel的工具类
  • 基于Room+RESTful的双权限Android开机时间监控方案
  • 串口数据收发的设计
  • 基于Nginx实现反向代理、负载均衡与动静分离完整部署指南
  • Excel 表格 - Excel 单元格添加边框
  • 产品无法正确解析复杂表格和流程图,有什么替代方案或优化方法?