我试图编写一个程序,用户给出n个数字,程序必须找出最重复的数字。 例如对于数字:4 5 5 1 3 1 1 7 1答案是1 顺便说一句,我是初学者,这就是为什么网站上已有的大多数答案都不适合我。 我非常感激。
答案 0 :(得分:2)
使用散列图(unordered_map
)计算数字的出现次数,然后搜索散列图中的最大出现次数。
答案 1 :(得分:0)
我认为您可以使用优先级队列来保存元素{1,1,1,1,3,4,5,5,7} 然后从此队列中操作模式
答案 2 :(得分:0)
您可能想要做的是将数字插入std::vector
,使用std::sort
(在<algorithm>
中),然后循环播放,以便查看哪个数字出现次数最多。
为了给你一个想法,你可以在循环时使用std::vector<int>::iterator
(使用 auto
代替)指向向量的开头+ 1,然后检查值是否为迭代点数等于
iterator - 1
。如果当前值高于 最大值,则将其与迭代器一起存储到该对象。
希望能帮助你。