思路:根据老师上课提示的“消消乐”方法,因为水王的发帖子的数量超过一半,所以两个不同的帖子消去,最后剩下的肯定就是水王的id

#include <iostream>

using namespace std;

typedef int  DataType;

DataType FindKing(DataType* ID, int n)
{
    DataType candidate;
    int nTime, i;
    nTime = 0;
    for (int i = 0; i<n; i++)
    {
        if (nTime == 0)
        {
            candidate = ID[i];
            nTime = 1;
        }
        else
        {
            if (candidate == ID[i])
                nTime++;
            else
                nTime--;
        }
    }
    return candidate;
}
int main()
{
    DataType ID[10] = { 1, 1, 1, 1, 1, 2, 3, 4, 5, 1 };
    cout << "水王是:"<<FindKing(ID, 10) << endl;
    return 0;

}
posted on 2020-05-29 15:11  迎新  阅读(144)  评论(0编辑  收藏  举报