面试官:把访问P站次数最多的那个哥们儿给我找出来?
当我有了所有的学生访问日志数据,我希望有一天能找到最常访问的ip地址,然后看到这个国家的小兄弟是如此充满活力的社区-等等-等等
在这个问题的最后,统一和统一的想法
重要的是,IP是32位的,即使是从专用IP中取出,通常也会将这些数据直接存储在内存中
在这里,我们需要像模式1000这样的哈希映射方法,将大文件划分为1000个小文件,查找并保存最常用的ip地址,最后,查找并解决这1000个IP地址中最常用的IP地址
我们要怎么做
将IP地址转换为哈希(IP)1000%,并将大量IP日志保存到1024个小文件中
为每个小文件创建{K: IP,v:frequency }映射并保存当前小文件最常用的IP地址
你可以按这1000个IP地址进行排序,得到最大的IP部分
1、配置数据
一亿个IP位址被写入档案
publicvoid genip(字符串文件)throws异常{2,拆分文件
将此大文件拆分为1000个小文件
publicvoid splitminifile(字符串文件名)throws异常{3,统计IPP
计算每个小文件中的ip数,并使用以下代码获取最大ip地址
public map . entropics(字符串文件)自由{4,IP顺序
通过最大的IP地址后,请按以下代码排序
Public Static Void main(字符串[] args) throws异常{实际上已接近完成