題目描述:n個數,列印出重複次數最多的前十個
方法:無序容器+優先順序佇列
資料結構:雜湊單重對映表+優先順序佇列
步驟:1、遍歷所有的數,放進雜湊表中
2、找到前十個重複率最高的
3、列印
#include#include#include#include#include#includeusing namespace std;
//自定義結構體
struct node
bool operator>(const node& src)const
int val;//放置資料
int count;//放置資料次數
};int main()
unordered_mapmmap;
for(int i:vec)
//查重完
priority_queue,greater> qq;
int i=0;
auto it=mmap.begin();
for(;it!=mmap.end()&& i<10;++it,++i)//插入10個
//top 10
for(;it!=mmap.end();++it)//插入乙個比較乙個 }
while(!qq.empty())//列印
return 0;
}
N個數中找出最大的K個數
題目描述 有很多個 n個 無序的數,我們姑且假定它們各不相等,怎麼選出其中最大的若干個 k個 數呢?1.n 100,k 10的時候怎麼處理?2.n 1000,k 100呢?3.n 1億億個,k 100呢?如果這些數是整數的話,怎麼處理?如果是浮點數呢?如果這些數是整數,並且存在上界呢?如果將題目中的...
求n 中因子k的個數
思路 求n的階乘某個因子k的個數,如果n比較小,可以直接算出來,但是如果n很大,此時n 超出了資料的表示範圍,這種直接求的方法肯定行不通。其實n 可以表示成統一的方式。n km m a 其中k是該因子,m n k,a是不含因子k的數的乘積 下面推導這個公式 n n n 1 n 2 3 2 1 k 2...
找出乙個陣列中的前k個高頻元素
給定乙個非空的整數陣列,返回其 現頻率前 k 高的元素。例如,給定陣列 1,1,1,2,2,3 和 k 2,返回 1,2 注意 你可以假設給定的 k 總是合理的,1 k 陣列中不相同的元素的個數。第一步基本都是一致的,需要統計出每個元素的出現次數 先遍歷一遍陣列,以陣列的值做key存放到map中,初...