如何从向量的向量中仅返回具有计数的唯一元素?
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- 将 vector of vector 中的所有项复制到单一的 vector 中,输出结果如下:
vec_vec{{a,a,b,c},{a,c,c}} -> vec{a,a,b,c,a,c,c}
2- 现在我正在处理单个向量(而不是向量的向量),因此对它进行排序、获取唯一项并使它们变得更容易(我可以使用这里1和这里2的代码)
将向量转换为一个向量是一个好主意吗?有更好的解决方案吗?
与当前方法相比(c++11,c++14),我们能找到更少复杂度的更好方法吗?