首页 > 其他 > 详细

找水王

时间:2015-04-21 17:49:19      阅读:124      评论:0      收藏:0      [点我收藏+]

一、实验要求

l 三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一  

    个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖

    数目超过了帖子数目的一半。

l 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快

    速的找到这个传说中的水王吗?

二、设计思想

    每次比较两个相邻的ID是否一样,如果不一样则删除。首先假设第一个ID是水王,然后和第二个比较,看看是否相同,如果不同则把第二个命名为水王,一次类推,如果相同,则time++。在盛夏的ID中,水王依然过半,重复这个过程,就可以找到水王。

    

三、源代码

 1 // 信1201-2班 司新红 
 2 
 3 #include "stdafx.h"
 4 #include "iostream"
 5 using namespace std;
 6 
 7 int main()
 8 {
 9     int a[10]={1,3,2,3,2,3,1,3,3};
10     int result = a[0];
11     int times = 1;
12     for(int i = 1; i < 10; i++)
13     {
14         if(a[i] == result)
15             times++;
16         else
17             times--;
18         if(times == 0)
19         {
20             result = a[i];
21             times = 1;
22         }
23     }
24     cout<<"水王为:"<<result<<endl;
25     return 0;
26 }

 

四、运行结果

技术分享

五、心得体会

    这个实验我刚刚看到的时候一点思路都没有,后来老师提供了一个思路,先排序,然后找到一半位置上的ID即为水王,但是由于那个时间复杂度太高,需要优化,但是实在没有思路,后来经过来时的提示,才明白该如何做。

 

找水王

原文:http://www.cnblogs.com/zgsxh/p/4444878.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!