微软面试:找水王问题

思路:水王的帖子超过一半,每次删除两个不同的ID(不管是否包含水王的ID),在剩下的ID列表中,水王ID出现的次数仍然超过总数的一半。

#include <iostream>
using namespace std;

void main()
{
    int a[10]={2,1,2,3,2,5,2,2,1,2};//ID
    int n=0,i;
    int m=a[0];     //ID
    for(i=0;i<10;i++)
    {
        if(m==a[i])
        {
            n++;
        }
        else
        {
            n--;
        }
        if (n<=0)
        {
            m=a[i];
            n=1;
        }
    }
    cout<<"水王是:"<<m<<endl;
}

posted @ 2015-05-18 19:29  主題遠志  阅读(126)  评论(0编辑  收藏  举报