找水王

问题:UNIN队设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。

如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

思路:水王发帖数过半,两两消去剩水王

代码:

 

#include <iostream>
using namespace std;

void main()
{
    int n,i,a[100],m,l;
    cin>>n;
    for(i=0;i<n;i++)
    {
        cin>>a[i];
    }
    int t=0;
    int q=a[0];
    int p=0;
    for(i=1;i<n;i++)
    {
        if(a[i]==q)
        {
            t++;
            if(t>=p)
            {
                p=t;
                m=a[i];
            }
            q=a[i];
        }
        else
        {
            l=t--;
            if(l<0)
            {
                t=0;
                q=a[i];
            }
            else
            {
                t=l;
                q=a[i];
            }
        }

    }

 

posted @ 2020-05-27 18:27  赵代码  阅读(106)  评论(1编辑  收藏  举报