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

力扣学习笔记——49. 字母异位词分组

49. 字母异位词分组

https://leetcode.cn/problems/group-anagrams/?envType=study-plan-v2&envId=top-100-liked
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

示例 1:

输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]
输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]
示例 2:

输入: strs = [“”]
输出: [[“”]]
示例 3:

输入: strs = [“a”]
输出: [[“a”]]

这个首先是排序,排序后用哈希表将结果和排序的字符串作为键对应起来

知识点

C++ 排序的库函数使用

在 C++ 中,你可以使用 头文件中的库函数来进行排序。以下是一些常用的排序函数:

std::sort():对容器或指定范围内的元素进行排序,默认按升序排序。注意:std::sort(),不光能对数字进行排序,还可以对字母进行排序。

#include <algorithm>
#include <vector>int main() {std::vector<int> nums = {5, 2, 8, 1, 9};std::sort(nums.begin(), nums.end());// 输出排序后的结果for (const auto& num : nums) {std::cout << num << " ";}return 0;
}

输出结果:1 2 5 8 9

std::stable_sort():与 std::sort() 类似,但保持相等元素的相对顺序不变。

#include <algorithm>
#include <vector>int main() {std::vector<int> nums = {5, 2, 8, 1, 9};std::stable_sort(nums.begin(), nums.end());// 输出排序后的结果for (const auto& num : nums) {std::cout << num << " ";}return 0;
}

输出结果:1 2 5 8 9

自定义排序:你还可以使用自定义的比较函数来进行排序,例如按照特定的条件进行排序。

#include <algorithm>
#include <vector>bool customCompare(int a, int b) {// 自定义排序规则:按照奇偶性进行排序if (a % 2 == 0 && b % 2 != 0) {return false;  // a 在 b 前面} else if (a % 2 != 0 && b % 2 == 0) {return true;   // a 在 b 后面} else {return a < b;  // 其他情况按照升序排序}
}int main() {std::vector<int> nums = {5, 2, 8, 1, 9};std::sort(nums.begin(), nums.end(), customCompare);// 输出排序后的结果for (const auto& num : nums) {std::cout << num << " ";}return 0;
}

输出结果:1 5 9 2 8

这些是一些常用的排序函数和用法。你可以根据实际需求选择适合的排序函数,并根据需要编写自定义的比较函数

如何用for循环如何拿到std::unordered_map的键和值

如果你想使用 for 循环来获取 std::unordered_map 的键和值,你可以使用迭代器来遍历容器。每个迭代器指向一个键值对,你可以通过解引用迭代器来获取键和值。

以下是一个示例代码,展示了如何使用 for 循环遍历 std::unordered_map 并获取键和值:

#include <iostream>
#include <unordered_map>int main() {std::unordered_map<int, std::string> myMap = {{1, "apple"}, {2, "banana"}, {3, "orange"}};// 遍历 unordered_mapfor (auto it = myMap.begin(); it != myMap.end(); ++it) {int key = it->first;std::string value = it->second;std::cout << "Key: " << key << ", Value: " << value << std::endl;}return 0;
}

在上面的示例中,我们使用 auto 关键字来推导出迭代器的类型。然后,使用 begin() 函数获取指向第一个键值对的迭代器,使用 end() 函数获取指向最后一个键值对之后位置的迭代器。在循环中,通过解引用迭代器来获取当前键值对的键和值。

输出结果将是:

Key: 1, Value: apple
Key: 2, Value: banana
Key: 3, Value: orange

你可以根据实际需要修改键和值的类型,并在循环中执行适当的操作

相关文章:

力扣学习笔记——49. 字母异位词分组

49. 字母异位词分组 https://leetcode.cn/problems/group-anagrams/?envTypestudy-plan-v2&envIdtop-100-liked 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。…...

五、Qt中的常用类

1. QString 字符串类 QString是Qt中的字符串类&#xff0c;与C/C不同的是&#xff0c;不再使用ASCII编码&#xff0c;而使用Unicode编码。因此一个字符不是8位的char&#xff0c;而是16位的QChar&#xff0c;这就是为什么之前一个汉字占用一个字符的原因。、 QString几乎向前兼…...

CentOS 7.9.2009 数据盘挂载

一、linux版本&#xff1a; lsb_release -a 二、操作步骤 2.1&#xff0c;查看磁盘挂载情况&#xff0c;确认sdb是需挂载的硬盘 ## 查看磁盘挂载情况&#xff0c;确认sdb是需挂载的硬盘 lsblk 2.2&#xff0c;对硬盘sdb进行分区 ## 对硬盘sdb进行分区 fdisk /dev/sdb# 命令…...

cv::solvePnP使用方法及注意点详解(OpenCV/C++)

cv::solvePnP(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvec, tvec, useExtrinsicGuess, flags); 1、参数说明&#xff1a; objectPoints&#xff1a;一个 vector<cv::Point3f>&#xff0c;包含了在世界坐标系中的三维点的坐标&#xff0c;至少需要4个点…...

DevOps持续集成-Jenkins(4)

❤️作者简介&#xff1a;2022新星计划第三季云原生与云计算赛道Top5&#x1f3c5;、华为云享专家&#x1f3c5;、云原生领域潜力新星&#x1f3c5; &#x1f49b;博客首页&#xff1a;C站个人主页&#x1f31e; &#x1f497;作者目的&#xff1a;如有错误请指正&#xff0c;将…...

【数据仓库-零】数据仓库知识体系 ing

文章目录 一. 数仓基本概念二. 离线数仓建设方法论三. etl流程四. 数仓规范建设指南四. 数据仓库架构五. 数据可视化 通过熟悉构建数仓整体的过程&#xff0c;可以系统的了解 数仓构建理论&#xff1a;能够站在全局角度看数仓的运行架构&#xff0c;数仓执行流程。了解到构建数…...

css3 3D 转换 技巧详细解析与代码实例

CSS3 3D转换是CSS3中的一项新特性&#xff0c;通过它我们可以比较容易地实现3D效果。在这里&#xff0c;我将向大家介绍CSS3 3D转换的一些基本概念、使用方法和常见技巧。 1. 基本概念 在使用CSS3 3D转换时&#xff0c;需要了解一些基础概念&#xff1a; 三维坐标系&#xf…...

[Unity]给场景中的3D字体TextMesh增加描边方案一

取你的文本对象&#xff0c;简单地添加以下脚本: using UnityEngine; using System.Collections; using UnityEngine.UI;public class TextOutline : MonoBehaviour {public float pixelSize 1;public Color outlineColor Color.black;public bool resolutionDependant fal…...

TDengine(taos)数据库导出历史数据

业务需求&#xff1a;导出某个站点的累计充电量&#xff0c;累计放电量&#xff0c;光伏总放电量&#xff0c;进线总功率的所有数据‘ 1、登录taos&#xff0c;使用存数据的库&#xff1b; 提示Database changed&#xff1b;即为使用成功&#xff1b; 2、找到你想要导出的字段…...

算法进修Day-37

算法进修Day-37 73. 矩阵置零 难度&#xff1a;中等 题目要求 给定一个 _m_ x _n_ 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例1 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[…...

服务器之日常整活

文章目录 一&#xff0c;序二、服务器相关流水帐未完&#xff0c;待补充 一&#xff0c;序 假如你有一台服务器&#xff0c;你最想做哪些事&#xff1f; 等等&#xff0c;什么叫假如你有一台服务器&#xff0c;假如只有一台&#xff0c;肯定我想搞第二台&#xff0c;顺便第三台…...

交互式 Web 应用 0 基础入门

初探 Gradio&#xff1a;轻松构建交互式 Web 应用 文章目录 初探 Gradio&#xff1a;轻松构建交互式 Web 应用Why Gradio?安装 Gradio创建交互式界面1. gr.Interface2. gr.Blocks 强大的组件库输入输出组件控制组件布局组件 示例交互式数据可视化多组件同时&#xff08;嵌套&a…...

JSONP的安全性较差,那么在跨域情况下,有没有其他更安全的替代方案呢?

在跨域情况下&#xff0c;为了保证安全性&#xff0c;有几种更安全的替代方案可以考虑使用&#xff1a; 1&#xff1a;CORS&#xff08;Cross-Origin Resource Sharing&#xff09;&#xff1a; CORS 是一种现代化的跨域解决方案&#xff0c;通过在服务器端设置响应头来控制跨…...

Slax Linux 获得增强的会话管理和启动参数选项

Slax Linux 的创建者和维护者托马斯-马特吉切克&#xff08;Tomas Matejicek&#xff09;在自己生日这天&#xff08;生日快乐&#xff01;&#xff09;发布了其小巧便携的 GNU/Linux 发行版的新版本&#xff0c;带来了各种增强功能和错误修复。 新发布的 Slax Linux 版本&…...

C/C++新冠疫情死亡率 2020年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C新冠疫情死亡率 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C新冠疫情死亡率 2020年9月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 2020年全世界爆发了新冠疫情&#xff0c;请…...

Adobe Photoshop 基本操作

PS快捷键 图层 选择图层 Ctrl T&#xff1a;可以对图层的大小和位置进行调整 填充图层 MAC: AltBackspace (前景) or CtrlBackspace (背景) WINDOWS: AltDelete (前景) or CtrlDelete (背景) 快速将图层填充为前景色或背景色 平面化图层&#xff08;盖印图层&#xff09…...

SpringMVC原理及核心组件

一、SpringMVC原理及核心组件 1、 Spring MVC的工作原理 Spring MVC 是一个对javaWeb中Servlet 简化和封装&#xff0c; 1.首先SpringMVC 配置DispatcherServlet 来接受所有的请求&#xff0c;我们通过DispatcherServlet 响应的所有数据&#xff0c;DispatcherServlet 是Htt…...

【rk3568-linux】 rk3568x_linux-- 编译说明

概述 一个好的安装教程能够帮助开发者完成更便捷、更快速的开发。书山有路勤为径&#xff0c;学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成长。 开发环境 开发环境&#xff1a;ubuntu18 文章目录 概述开发环境一、选择型号二、全自动编译三、…...

模拟计算器编程教程,中文编程开发语言工具编程实例

模拟计算器编程教程&#xff0c;中文编程开发语言工具编程实例 中文编程系统化教程&#xff0c;不需英语基础。学习链接 ​​​​​​https://edu.csdn.net/course/detail/39036 课程安排&#xff1a;初级1 1 初级概述 2 熟悉构件取值赋值 3 折叠式菜单滑动面板编程 4 自定…...

Spring Security漏洞防护—HTTP 安全响应头

一、默认的 Security Header Spring Security提供了 一套默认的安全HTTP响应头&#xff0c;以提供安全默认值。虽然这些头信息中的每一个都被认为是最佳实践&#xff0c;但应该注意的是&#xff0c;并不是所有的客户端都使用这些头信息&#xff0c;所以鼓励进行额外的测试。 …...

14. 家庭电路模拟器

3. 家庭电路模拟器 功能介绍: 模拟家庭电路中电灯、插座、电器的连接方式。用户可以点击开关来控制灯泡的亮灭,演示“火线进开关,零线进灯座”的正确接法。通过动态电流流动效果,展示电流从火线流向零线的过程,并模拟短路和过载时的跳闸保护机制,是安全用电教学的绝佳工…...

PostgreSQL 12 + PostGIS 3.4.2 完整部署+迁移+数据恢复避坑指南(新手可复制,全程无报错)

环境说明&#xff08;核心前提&#xff0c;必看&#xff09; 本次实操目标&#xff1a;搭建可正常运行的GIS数据库环境&#xff0c;完成跨服务器数据库拆分迁移&#xff0c;恢复已有空间数据备份&#xff0c;确保PostGIS空间功能、索引全部可用&#xff0c;具体环境如下&#…...

直线导轨的精度对设备运行稳定性与寿命的影响

直线导轨作为机械传动与定位系统的核心部件&#xff0c;广泛应用于数控机床、自动化设备、3D打印机等领域。其精度等级直接影响设备的运动控制、加工质量及运行效率。从普通工业设备到高精密数控机床&#xff0c;不同精度等级的导轨通过控制摩擦、振动与位移偏差&#xff0c;成…...

S2-Pro Markdown文档大师:Typora风格的高效写作与排版助手

S2-Pro Markdown文档大师&#xff1a;Typora风格的高效写作与排版助手 1. 技术文档写作的新选择 作为一名长期与技术文档打交道的工程师&#xff0c;我深知写作过程中的痛点&#xff1a;构思结构耗时、术语使用不规范、排版效率低下。S2-Pro的出现&#xff0c;为这些问题提供…...

2026大专大数据科学毕业后学数据分析的价值分析

2026年大数据科学行业发展趋势与企业需求大数据科学行业预计在2026年将更注重实时数据处理和AI融合。企业会优先选择能结合机器学习与业务场景的复合型人才&#xff0c;技术栈方面Python&#xff08;特别是PySpark生态&#xff09;、SQL优化及云平台&#xff08;AWS/Azure&…...

MinIO权限配置踩坑实录:从‘策略不生效’到‘安全加固’的完整排错指南

MinIO权限配置实战&#xff1a;从策略失效到精细化管控的深度解析 那天下午&#xff0c;运维团队突然收到业务部门的紧急反馈——用户A无法从指定存储桶下载关键报表文件。这个看似简单的权限问题&#xff0c;却让我们团队花了整整三个小时排查。本文将还原这次故障排查的全过程…...

从双摄手机到自动驾驶:对极几何(Epipolar Geometry)在现实世界中的5个应用场景

从双摄手机到自动驾驶&#xff1a;对极几何在现实世界中的5个应用场景 当你用手机拍摄人像模式照片时&#xff0c;是否好奇过背景虚化效果如何精准识别主体&#xff1f;当自动驾驶汽车在复杂路况中穿行&#xff0c;又是如何判断前方障碍物的距离&#xff1f;这些看似神奇的技术…...

跨游戏模组协同:XXMI启动器智能管理解决方案

跨游戏模组协同&#xff1a;XXMI启动器智能管理解决方案 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 当你同时游玩《原神》《崩坏&#xff1a;星穹铁道》《鸣潮》等多款二次元…...

OpenCV需要的Numpy知识

图像 NumPy 数组彩色图&#xff1a;(高度, 宽度, 3)灰度图&#xff1a;(高度, 宽度)像素值&#xff1a;0~255&#xff0c;类型 uint8下面所有内容&#xff0c;都围绕这句话。1. 创建数组1.1 np.array () —— 把列表变成数组import numpy as np ​ a np.array([1, 2, 3]) b …...

B站硬核会员试炼的AI自动答题工具:从痛点到实践的完整指南

B站硬核会员试炼的AI自动答题工具&#xff1a;从痛点到实践的完整指南 【免费下载链接】bili-hardcore bilibili 硬核会员 AI 自动答题脚本&#xff0c;直接调用 B 站 API&#xff0c;非 OCR 实现 项目地址: https://gitcode.com/gh_mirrors/bi/bili-hardcore 一、痛点剖…...