Time limit 1000 ms
Memory limit 1024 kB
题目描述
Bushiczl酷爱吃棒棒糖,他收藏了n个棒棒糖,有各种口味的,其中有一种口味他特别青睐,那种口味的棒棒糖数量占他所有棒棒糖数量的一半以上,即大于n/2。但是他的记性不好,忘记了自己最喜欢吃什么味的棒棒糖,请你帮他找到。
Input
第一行一个整数n,代表收藏的棒棒糖的数量。 接下来一行n个整数,代表他收藏的每一个棒棒糖的类型。
Output
输出一个整数,代表Bushiczl最喜欢的棒棒糖。 数据保证有解。
Sample Input
5 3 2 3 1 3
Sample Output
3
思路:
内存限制为1024KB,不能开数组或者用map等会超内存。
代码:
#include<stdio.h>
int main()
{
int n,sum=0,x,a; //x表示这些数字中多的那个
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a);
if(sum==0)
{
sum++; //相同数字的长度
x=a; //将x与非x的数连线,最后剩下的一定是X,即这些数字中多的数字
}
else{
if(a==x)
sum++;
else
sum--;
}
}
printf("%d\n",x);
return 0;
}