问题描述
对于这个题目, 书上给出了三种思路
第一种 : 先遍历一次所有的帖子, 统计出 , 然后在遍历一次映射, 找出发帖次数超过一半的发帖人 即为所求 。...第二种 : 将所有的id[包括重复]进行排序, 然后最中间的id即为所求
第三种 : 逐渐减小问题的规模的算法, 每一次删除两个不同的id, 那么剩下的id列表中, 水贴王的出现次数必然也满足超过一半...[因为, 如果删除的两个id中没有水贴王id, 水贴王id出现的次数必然超过一半 [x/ sum => x/ sum-2], 如果删除的两个id中有一个为水贴王id, 则水贴王id出现的次数仍然会超过一半...这里要分析谁是水贴王,首先要收集发帖和发帖者的数据。
这里测试百度贴吧的李毅吧的前100页:
大概花费两分钟时间,得到一个5000行的csv文件,可以用excel打开查看。...返回一个list:输出
for val in list2:
print val[0],val[1]
分析得出:发帖最多红颜知己840