如何计算多映射中重复对的数量
How to count number of duplicate pairs in multimap
如何在整数对的多映射中计算重复对(具有相同键和值(的数量?
例如,我的多映射包含对{(6,2(、(6,2。我尝试过使用find((和count((等方法,但都没有用。任何帮助都将不胜感激!
一种常见的方法是使用std::set
。这不能包含重复的数据。
我们将尝试使用其范围构造函数将所有数据放入std::set
。使用CTAD使写作更容易。
然后我们比较了std::multimap
和std::set
的大小,并得到了所有重复的数量。
所以它可以归结为一个非常简单的程序。请参阅:
#include <iostream>
#include <map>
#include <set>
int main()
{
// Source data
std::multimap<int, int> mm = { {6, 2}, {6, 3}, {6, 2}, {6, 4} };
// Use range constructor and CTAD to put the data into a set
std::set s(mm.begin(), mm.end());
// Show result
std::cout << "Number of duplicates: " << mm.size() - s.size() << "n";
return 0;
}
如果有不同的要求,请反馈,我将创建一个额外的解决方案。
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 递归函数计算序列中的平方和(并输出过程)
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- (C++)分析树以计算返回错误值的简单算术表达式
- 我的字符计数代码计算错误.为什么
- 在计算中使用二的幂有多有利可图
- 如何计算多映射中重复对的数量
- 如何有效地计算将单位立方体映射到自身的反射和旋转?
- 计算一个单词在映射中出现的次数 - 使用 transform() - 调用不匹配
- 标准::映射::合并的计算时间复杂度
- 计算向量的std ::映射为键的值,并将双倍作为值
- 如何使用 2 个迭代器进行求和函数计算映射<字符串、双精度>
- 如何计算字符串到int的映射之间的所有排列
- 计算一组关系的整数映射的更有效的算法
- 计算表示稀疏向量 c++ 的映射之间的距离
- 尝试将向量<int>推送到映射到计算模式
- 使用c++映射计算词频.我做错了什么?
- 在映射或unordered_map之间选择由计算的双精度值组成的键
- 计算无序映射占用的内存空间