【日常学习】【数学】【众数】codevs4419 FFF团卧底的菊花题解

题目描述  Description

FFF 团卧底在这次出题后就知道他的菊花可能有巨大的危险,于是他提前摆布好了菊花阵,现在菊花阵里有若干朵菊花,出现次数最多的那一朵就是出题人的,你的任务是需要找出出题人的菊花。

输入描述 Input Description

第一行为 n

第二行为 n 朵菊花

输出描述 Output Description

一行,为出题人的菊花

样例输入 Sample Input

5

1 1 1 2 3

样例输出 Sample Output

1

数据范围及提示 Data Size & Hint

对于 100%的数据,n<=5000000,每个数都在 int 范围内,保证出题人的菊花出现的次数大于等于[n/2]

O(n)求众数

以下方法要求:众数出现次数严格大于总数一半

#include 
#include 
int n, num;
int main()
{
	scanf("%d%d", &n, &num);
	int cnt = 1;
	for (int i = 2; i <= n; i++)
	{
		int tmp; 
		scanf("%d", &tmp);
		if (cnt == 0)
		{
			cnt = 1;
			num = tmp;
			continue;
		}
		if (tmp == num) cnt++;
		else cnt--;
	}
	printf("%d\n", num);
	return 0;
}


李凭箜篌引实在是写的太好了 简直找不出更好的句子来代替这种令人共鸣的感受 昆山玉碎凤凰叫,芙蓉泣露香兰笑


——此曲只应天上有,人间能得几回闻。 

你可能感兴趣的:(日常学习,数学)