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

这里的 mp 是一个关联容器(如 std::map<int, std::vector<int>> 或者 std::unordered_map<int, std::vector<int>>),其键是整数,值是一维整数向量。ans 是一个二维向量(std::vector<std::vector<int>>)。
具体分组过程
- 遍历关联容器:使用迭代器
it从mp的起始位置开始,逐个访问mp中的元素,直到遍历完整个mp。 - 获取值并添加到结果容器:在每次迭代中,
it->second代表当前键所对应的值,也就是一个一维整数向量。通过emplace_back方法将这个一维向量直接添加到ans这个二维向量的末尾。 - 分组效果:由于
mp中的每个键都对应一个一维向量,这样不断将这些一维向量添加到ans中,就相当于把mp里的值按照键的顺序依次分组存储到ans里。ans的每个元素(也就是子向量)对应mp中一个键的值,实现了分组的效果。
