检查向量中的重复项并计算它们 c++
Checking for duplicates in vector and count them c++
我的目标是检查矢量中的重复项,并将它们与重复计数一起发布。例:
vector<string> vec{"words", "words", "are", "fun", "fun", "fun"};
// words - 2
// fun - 3
我找到了很好的解决方案,但我不知道是否有任何可能的方法可以打印计数器:
vector<string> vec{"words", "words", "are", "fun", "fun", "fun"};
sort(vec.begin(), vec.end());
set<string> uvec(vec.begin(), vec.end());
list<string> output;
set_difference(vec.begin(), vec.end(),
uvec.begin(), uvec.end(),
back_inserter(output));
for (list<string>::iterator i = output.begin(); i != output.end(); ++i)
cout << *i << endl;
您可以简单地保留一个计算单词数的map
。
vector<string> vec{"words", "words", "are", "fun", "fun", "fun"};
map<string, int> words;
for(const auto& x : vec) ++(words[x]);
for(const auto& [k, v] : words)
if(v > 1) cout << k << " - " << v << "n";
活魔杖盒示例
请注意,我正在使用一个名为"结构化绑定">的 C++17 功能来解构words
对以[k, v]
。如果没有 C++17 编译器,则可以使用 const auto& p : words
并通过 p.first
和 p.second
访问配对成员。
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 递归函数计算序列中的平方和(并输出过程)
- (C++)分析树以计算返回错误值的简单算术表达式
- 我的字符计数代码计算错误.为什么
- 在计算中使用二的幂有多有利可图
- 如何计算文件中的"columns"数?
- 计算排序向量的向量中唯一值的计数
- 如何使用 std::累积在 C++ 中计算总和立方体
- 使用Qt C++计算类似Git的SHA1哈希
- OpenCV C++.快速计算混淆矩阵
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- C++如何计算用户输入的数字中的偶数位数
- 如何计算数据类型的范围,例如int
- 类似枚举的计算常量
- 计算每个节点的树高,帮助我解释这个代码解决方案
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 计算缩放多边形的比例,得到给定的多边形面积
- 在C++中如何在没有pow的情况下进行基础计算
- 计算平均值,不包括上次得分
- 如何计算多映射中重复对的数量