N個數中的前k個

2021-09-13 16:12:59 字數 692 閱讀 1147

題目描述: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中,初...