【发布时间】:2016-03-01 17:25:56
【问题描述】:
仅返回具有向量向量计数的唯一元素的最佳方法是什么?
std::vector<std::vector<string>> vec_vec{{a,a,b,c},{a,c,c}};
结果应该是:
{a, b, c} // This is the vector that contains the unique items.
{3, 1, 3} //a exists three times, b only one time, and c is three times.
为了解决这个问题,我使用以下方法:
1- 将向量的向量中的所有项复制到单个向量,因此输出将是:
vec_vec{{a,a,b,c},{a,c,c}} -> vec{a,a,b,c,a,c,c}
2- 现在我正在处理单个向量(不是向量的向量),因此排序、获取唯一项和它们要容易得多(我可以使用代码 here1 和 here2)
将向量的向量转换为一个向量是个好主意吗?有更好的解决方案吗?
与目前的方式(c++11、c++14)相比,我们能否找到更简单、更简单的方式?
【问题讨论】:
标签: c++ algorithm c++11 vector c++14