用java实现:寻找最常见的名字
现有一千万个用户的名字组成的一个文本文件,其中每一行为一个名字,其中很多名字重复出现的多次,去掉重复约200万个,一个名字重复次数越高,说明最常见。设计算法,把最常见的100个名字和重复次数以降序列出,要求使用的内存不超过1G 
1.请描述你解决这个问题的思路,可以用文字或伪代码 
2.请给出主要的处理流程,算法以及算法复杂度 
请各位帮帮忙