C++ 使用set和map解决模式问题?

C++ 使用set和map解决模式问题?,c++,dictionary,stl,set,C++,Dictionary,Stl,Set,所以我在家庭作业中遇到了这个问题,它要求我分别使用set和map来解决数组中模式的数量(找到一组数据中出现频率最高的数据)。它还需要测试并展示无模式、1模式和多模式的解决方案,这些都是我的全部说明(老师并不热衷于具体说明)。据我所知,set或map都不允许重复值,那么怎么会存在模式呢?我很怀疑。有人能给我一些关于这一点的见解吗?它是否可行?如果有人给我指点,我会很感激的。谢谢 解决方案非常简单,您只需要有一个映射来记录每个整数出现的次数,然后遍历映射以找到计数最大的键。解决方案是这里的最后一个:

所以我在家庭作业中遇到了这个问题,它要求我分别使用set和map来解决数组中模式的数量(找到一组数据中出现频率最高的数据)。它还需要测试并展示无模式、1模式和多模式的解决方案,这些都是我的全部说明(老师并不热衷于具体说明)。据我所知,set或map都不允许重复值,那么怎么会存在模式呢?我很怀疑。有人能给我一些关于这一点的见解吗?它是否可行?如果有人给我指点,我会很感激的。谢谢

解决方案非常简单,您只需要有一个映射来记录每个整数出现的次数,然后遍历映射以找到计数最大的键。解决方案是这里的最后一个:


对于集合的解决方案,您最好使用一个有序的多集合,它将保持正确的顺序,然后使用变量max count和current count进行迭代。当当前计数>最大计数时,用当前元素替换most_freq(另一个变量)。这基本上就是解决办法。我可以在3分钟内把它编好,但我要你做家庭作业

什么是“求解阵列中的模式数”??你还有什么吗?嗨,亚莱杭德罗,我很抱歉我说的模棱两可。查找一组数据中发生频率最高的数据。对于
set
请查看以下内容:,对于
map
。这是一个简单的例子,可以给你一个起点。我很好奇,
mode
是集合论(或计算机科学)中定义的术语吗?谷歌似乎找不到这个词的任何东西。是的,set和map都不允许使用多个值(映射键),这使得
模式
有点无用(根据您的定义)。