试题编号:0329    
99999999海岛帝国后传:算法大会
难度级别:D; 运行时间限制:50ms; 运行空间限制:600KB; 代码长度限制:2000000B
试题描述

    YSF经过百般思考后,决定召开一个“煽风点火”,来召集全世界优秀的计算机人士。算法大会只有一道题,是WXJ && LJX合力编写、研究出来的算法设计精品:(以下为YSF的发言稿)

 

 

下面送给大家这题的代码:

#include<iostream>
using namespace std;
int MajorityElement(int*a,int n)
{
    int k,i;
    int elem;
    k=1;
    elem=a[0];
    for(i=1;i<n;i++)
    {
        if(a[i]==elem) k++;
        else
        {
            k--;
            if(k==0) { k=1;elem=a[i];}
        }
    }
    return elem;
}
int main(int argc,char*argv[])
{
    int n;
    cin>>n;
    int a[n];
    for(int i=1;i<n+1;i++) cin>>a[i];
    cout<<MajorityElement(a,sizeof(a)/sizeof(a[0]))<<endl;
    system("pause");
    return 0;
}

 

    大家还记得这样一道超水,水的不能再水的题吗?(当然不是A+B问题啦)题目如上。

    总体说,就是高效实现。

    保证有且只有一个数符合条件。

输入
如图
输出
如图,只不过数据保证有且只有一个数符合条件。
输入示例
如图
输出示例
如图
其他说明
n<=10^10,享受痛苦吧!
posted on 2016-07-21 10:57  罗伊凡  阅读(58)  评论(0编辑  收藏  举报