用java实现:寻找最常见的名字-----一公司笔试题

来源:百度知道 编辑:UC知道 时间:2024/06/20 07:30:33
现有一千万个用户的名字组成的一个文本文件,其中每一行为一个名字,其中很多名字重复出现的多次,去掉重复约200万个,一个名字重复次数越高,说明最常见。设计算法,把最常见的100个名字和重复次数以降序列出,要求使用的内存不超过1G
1.请描述你解决这个问题的思路,可以用文字或伪代码
2.请给出主要的处理流程,算法以及算法复杂度
请各位帮帮忙
大家能不能详细一点谢谢

把名字放到List中加以排序,然后循环,同时记录信息,把信息放到Map里,再排序,就可以了!

估计只有把文件分段读,不然内存会爆的

这个文本文件也确实太大了