LeetCode 49. 字母异位词分组

2023-11-17

Description:

题目大意:给定一个字符串数组,返回字母相同的字符串数组。

解题思路::

算法标签:哈希表
1.将排序好的字符串设置为key
2. 然后存储对应的字符串

代码:

class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        // 建立一个哈希表
        unordered_map<string,vector<string>>hash_mp;

        // 遍历字符串数组
        for(auto str : strs) {
            string key = str;
            // 字母从小到大排序
            sort(key.begin(),key.end());
            // 排序后把对应的字符串放入哈希表中
            hash_mp[key].push_back(str);
        }

        // 把hash表中的字符串返回给ans
        vector<vector<string>>ans;

        for(auto iter = hash_mp.begin();iter != hash_mp.end();iter++) {
            ans.push_back(iter -> second);
        }
        return ans;
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeetCode 49. 字母异位词分组 的相关文章

随机推荐

  • springboot常用注解详解

    在springboot中 经常会用到一些注解 它们各自代表着什么呢 在这个属于我们的节日里 快来了解一下吧 1 SpringBootApplication 一般不会主动去使用它 但是要知道它是一个组合注解 Configuration Ena
  • java-php-python-ssm校园统一网络授课平台系统计算机毕业设计

    java php python ssm校园统一网络授课平台系统计算机毕业设计 java php python ssm校园统一网络授课平台系统计算机毕业设计 本源码技术栈 项目架构 B S架构 开发语言 Java语言 开发软件 idea ec
  • benchmarking graph neural networks 翻译

    摘要 图神经网络 GNN 已成为分析和学习图数据的标准工具包 随着领域的发展 确定关键架构并验证可推广到更大 更复杂的数据集的新思路变得至关重要 不幸的是 在缺乏具有一致实验设置的标准化基准的情况下 评估新模型的有效性变得越来越困难 在本文
  • 【DLL】【一文搞懂】【学习笔记】(四)GetProcAddress函数

    官方文档 GetProcAddress 函数用于获取DLL中导出函数的地址 显式链接时使用 GetProcAddress将 DLL 模块处理 由LoadLibrary 或 GetModuleHandle 返回的参数 并采用要调用的函数的名称
  • 第四章 Verilog 逻辑设计介绍

    第四章 Verilog 逻辑设计介绍 4 1 组合逻辑的结构化模型 介绍了verilog 原语 即一些基本的逻辑门 例化时不必写例华名 介绍了verilog module 的结构 4 2 逻辑系统的验证和测试方法 四值逻辑 0 1 x z
  • 用MD5实现hash长度扩展攻击 By Assassin

    今天心血来潮 看到了扩展攻击 猛然想到了之前看的扩展攻击的原理还没有弄懂 这里补充一下 hash长度扩展攻击到底是怎么实现的 题目 首先从实验吧上面见到的经典的题目 下面给出源码
  • Python Flask+Echarts+sklearn+MySQL(评论情感分析、用户推荐、BI报表)项目分享

    Python Flask Echarts sklearn MySQL 评论情感分析 用户推荐 BI报表 项目分享 项目背景 随着互联网的快速发展和智能手机的普及 人们越来越倾向于在网上查找餐厅 购物中心 酒店和旅游景点等商户的点评和评分信息
  • 掌握 Ajax,第 5 部分:操纵 DOM

    Brett McLaughlin 作者 编辑 O Reilly Media Inc 2006 年 4 月 27 日 如果阅读过本系列的 上一篇文章 那么您就非常清楚当 Web 浏览器显示网页时幕后发生的一切了 前面已经提到 当 HTML 或
  • 实验室云平台架构学习笔记

    这些日子学习了实验室云平台的体系架构 在多次与小孟哥请教后对该架构有了一定了解 首先应明白建立云平台的目的 与传统的服务器相比 云平台可以将物理资源虚拟化为虚拟机资源池 灵活调用软硬件资源 实现对用户的按需访问 而且在运行过程中根据用户并发
  • LeetCode刷题笔记-压缩字符串

    压缩字符串 给你一个字符数组 chars 请使用下述算法压缩 从一个空字符串 s 开始 对于 chars 中的每组 连续重复字符 如果这一组长度为 1 则将字符追加到 s 中 否则 需要向 s 追加字符 后跟这一组的长度 压缩后得到的字符串
  • 10个程序员常用的代码简写技术,看懂一种是入门,全懂就是大神

    今天小编我给大家整理了一份10个程序员常用的代码简写技术 看懂一种是入门 全懂就是大神 你能知道几个呢 这篇文章分享之前我还是要推荐下我自己的前端群 595549645 不管你是小白还是大牛 小编我都挺欢迎 不定期分享干货 包括我自己整理的
  • Qt 模型视图编程之自定义只读数据模型

    背景 Qt 中的模型视图架构是用来实现大量数据的存储 处理及其显示的 主要原理是将数据的存储与显示分离 模型定义了标准接口对数据进行访问 视图通过标准接口获取数据并定义显示方式 模型使用信号与槽机制通知视图数据变化 QModelIndex
  • asm.js 和 Emscripten 入门教程

    文章转载自 http www ruanyifeng com blog 2017 09 asmjs emscripten html Web 技术突飞猛进 但是有一个领域一直无法突破 游戏 游戏的性能要求非常高 一些大型游戏连 PC 跑起来都很
  • Webpack5 搭建Vue项目(进阶版)

    Webpack5 搭建Vue项目 进阶版 提示 中间隔了好长时间 我胡汉三又回来继续更新了 文章目录 Webpack5 搭建Vue项目 进阶版 前言 一 进阶版本有哪些特点 二 主要的文件代码如下 1 设置一个公共配置 webpack co
  • 使用小工具QuickLook的使用

    终于期末考试结束了 正式步入科研生活 今天正好看到了quicklook这个软件 就顺便下载一下来试试 经常我们困难会为了简单的查看一个文件 却要等待一个大型软件的缓慢加载过程 比如 m ppt文件 在使用这个软件后 不必等待 重型 的 Of
  • 快速从网页爬取图片数据

    1 代码实现 import os import re import time from selenium import webdriver from bs4 import BeautifulSoup from urllib request
  • 数据采集与埋点简介之 代码埋点、可视化埋点与无痕埋点

    转自 https sensorsdata cn blog shu ju jie ru yu mai dian 博主做移动手机系统中的数据采集与埋点也有近两年 那段时间内一方面是集中在具体的开发和问题细节处理 另外一方面则是在把采集系统适配到
  • 数据库性能

    1 建立合理的索引 2 优化SQL语句 3 优化表结构 能用小字段类型就用小字段类型 如能用short就不用int 能用数据类型就不用字符串类型 4 拆分表 横向拆分不更改表结构 重复多建立几张表 纵向拆分影响表结构 通过索引连接多个表 5
  • 2021-03-18-C++学习之17-stack、queue、list

    一 stack容器 1 stack基本概念 stack是一种先进后出 First In Last Out FILO 的数据结构 它只有一个出口 只有顶部元素才可以被外界使用 因此栈不允许有遍历行为 通常有empty函数来判断容器是否为空 s
  • LeetCode 49. 字母异位词分组

    Description 题目大意 给定一个字符串数组 返回字母相同的字符串数组 解题思路 算法标签 哈希表 1 将排序好的字符串设置为key 2 然后存储对应的字符串 代码 class Solution public vector