有一个1G大小的一个文件,里面每一行是一个英文单词,词的大小不超过16字节,内存限制是1M。请设计一个算法思路,返回频数最高的100个词。
Stack<string> s,容量100 HashMap<string,int> h string st=NaN //记录当前栈中词频最小元素 int n_st=-1 //记录对应词频 while(文件未读完): 读取一个词w if(h[w]不存在): h[w]=1 else: h[w]+=1 if(栈为空 || 栈不满 || h[w]>n_st): st=w w入栈 关闭文件 栈中元素即为所求
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题