水王2.0

Posted 是你,就好

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了水王2.0相关的知识,希望对你有一定的参考价值。

问题描述:

三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?(参考核心代码) 随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?

要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。

设计思想:

 还是按照第一次找水王的思路来就可以啦,不过这次的返回值是三个,需要用到数组来解决,nTimes 的3个元素分别对应当前遍历过的3个ID出现的 个数。如果遍历中有某个ID不同于这3个当前ID,我们就判断当前3个ID是否有某个的nTimes为0,如果有,那这个新遍历的ID就取而代之,并赋1 为它的遍历数(即nTimes减1),如果当前3个ID的nTimes皆不为0,则3个ID的nTimes皆减去1,这也就是解决本文题的关键了。由于非 水王ID不满总帖数的1/4,与上题思路相同,所遍历ID与当前3个ID不同时,就一同抵消(即3个当前ID的nTimes值减1),最终留下来的3个当 前ID总会是3个超过1/4的水王ID。

代码实现:

 

实现截图:

 

个人总结:

以上是关于水王2.0的主要内容,如果未能解决你的问题,请参考以下文章

水王。。。论坛的水王

寻找水王

寻找“水王”01

软件工程课堂作业——寻找水王2

12.6 水王

寻找水王