关注
首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。
或者如下阐述(雪域之鹰):
算法思想:分而治之+Hash
1.IP地址最多有2^32=4G种取值情况,所以不能完全加载到内存中处理;
2.可以考虑采用“分而治之”的思想,按照IP地址的Hash(IP)%1024值,把海量IP日志分别存储到1024个小文件中。这样,每个小文件最多包含4MB个IP地址;
3.对于每一个小文件,可以构建一个IP为key,出现次数为value的Hash map,同时记录当前出现次数最多的那个IP地址;
4.可以得到1024个小文件中的出现次数最多的IP,再依据常规的排序算法得到总体上出现次数最多的IP
查看原帖
1 1
相关推荐
点赞 评论 收藏
分享
11-08 21:07
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
7834次浏览 204人参与
# 担心入职之后被发现很菜怎么办 #
265931次浏览 1130人参与
# 被上班搭子“传染”了哪些习惯 #
5125次浏览 97人参与
# 投格力的你,拿到offer了吗? #
152101次浏览 813人参与
# 工作后,你落下了哪些病根 #
12598次浏览 180人参与
# 作业帮求职进展汇总 #
82484次浏览 543人参与
# 京东美团大战,你怎么看? #
157790次浏览 859人参与
# 实习简历求拷打 #
10130次浏览 115人参与
# 如果今天是你的last day,你会怎么度过? #
58824次浏览 324人参与
# 秋招被挂春招仍然能投的公司 #
6240次浏览 93人参与
# mt对你说过最有启发的一句话 #
34068次浏览 413人参与
# 为了找工作你花了哪些钱? #
74754次浏览 359人参与
# 机械人晒出你的简历 #
146375次浏览 874人参与
# 嵌入式岗知多少 #
62930次浏览 555人参与
# 摸鱼被leader发现了怎么办 #
99983次浏览 638人参与
# 考研失败就一定是坏事吗? #
200455次浏览 1368人参与
# 秋招特别不鸣谢 #
15084次浏览 174人参与
# 2023毕业生求职有问必答 #
218502次浏览 1662人参与
# 选实习,你更看重哪方面? #
13269次浏览 214人参与
# 牛客十周岁生日快乐 #
197689次浏览 1895人参与
阿里云工作强度 727人发布