map映射到二维数组

今天做题,遇到一道比较有意思的题目,就是将map映射到一个二维动态数组中完成一个分组

这里的 mp 是一个关联容器(如 std::map<int, std::vector<int>> 或者 std::unordered_map<int, std::vector<int>>),其键是整数,值是一维整数向量。ans 是一个二维向量(std::vector<std::vector<int>>)。

具体分组过程

  1. 遍历关联容器 :使用迭代器 itmp 的起始位置开始,逐个访问 mp 中的元素,直到遍历完整个 mp
  2. 获取值并添加到结果容器 :在每次迭代中,it->second 代表当前键所对应的值,也就是一个一维整数向量。通过 emplace_back 方法将这个一维向量直接添加到 ans 这个二维向量的末尾。
  3. 分组效果 :由于 mp 中的每个键都对应一个一维向量,这样不断将这些一维向量添加到 ans 中,就相当于把 mp 里的值按照键的顺序依次分组存储到 ans 里。ans 的每个元素(也就是子向量)对应 mp 中一个键的值,实现了分组的效果。
相关推荐
江公望12 小时前
Qt QSharedPointer用法,10分钟讲清楚
开发语言·qt
月落归舟12 小时前
深入理解Java适配器模式,彻底搞懂设计思想
java·开发语言·适配器模式
Mr_pyx12 小时前
【LeetHOT100】二叉树的中序遍历——Java多解法详解
java·开发语言·深度优先
Liangwei Lin12 小时前
LeetCode 20. 有效的括号
算法
艾莉丝努力练剑12 小时前
【Linux网络】Linux 网络编程入门:TCP Socket 编程(下)
linux·运维·服务器·网络·c++·tcp/ip
宵时待雨13 小时前
linux笔记归纳4:进程概念
linux·运维·服务器·c++·笔记
IronMurphy13 小时前
【算法四十四】322. 零钱兑换
算法
凯瑟琳.奥古斯特13 小时前
力扣2760 C++滑动窗口解法
数据结构·c++·算法·leetcode·职场和发展
Hesionberger13 小时前
LeetCode96: 不同的二叉搜索树(多解)
算法
_深海凉_13 小时前
LeetCode热题100-不同路径
算法·leetcode·职场和发展