P1207: 最大连续出现个数题解
题目描述 :
输入n个数,n<=500000,每个数不超过10000,求最多连续出现了多少个相同的数
解题思路:
1.依次输入每一个数 将指针设为第一个数
2.循环判断如果下一个数还为本数 那么长度+1 并判断如果长度大于最大值 那么最大值为现有长度 否则 重新开始计数 将长度设为1
3.输出最大值
代码样例:
#include<bits/stdc++.h>
using namespace std;
int a[500005];
int main()
{
int n;
cin>>n;
int temp=0;
int x=0;
int maxn=0;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
temp=a[1];
for(int i=1;i<=n;i++)
{
if(a[i]==temp)
{
x++;
if(x>maxn)
{
maxn=x;
}
}
else
{
temp=a[i];
x=1;
}
}
cout<<maxn;
return 0;
}
题后总结反思
总结反思:
1.注意最后如果不是要重新计数