结对开发----找出“水王"

一、题目

    三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

二、设计思路

   这道题的主要突破口在与水王的贴子超过了总帖子数的一半,所以在老师上课”消消乐模式“的启示下,有了灵感。

三、实验代码

复制代码
#include<iostream.h>
void main()
{
    int arr[19]={2,2,1,3,1,2,1,5,2,2};  //假设的ID号
    int shuijun = 0; 
    int count=0;  //标记
    for(int i=0;i<9;i++)
    { 
        if(count == 0)
        { 
            shuijun = arr[i]; 
            count = 1; 
        } 
        else
        { 
            if(shuijun == arr[i]) 
                count ++; 
            else  
                count --; 
        } 
    }
    cout<<"水军的ID是"<<shuijun<<endl;
}
复制代码

五、运行截图

六、实验总结

    这道题给我的感受最深的就是思路想法远远优先于编程。一开始对这道题真是绞尽脑汁想办法去解决。可是思路总是对不上老师给的时间复杂度。最后老师提醒我们用消消乐的想法来思考。最终在队友的帮助下,完成了这个实验。真的很不容易。。。

posted @ 2015-04-22 21:19  憨了个豆先生  阅读(154)  评论(0编辑  收藏  举报