一.题目
二.分析与思路
其实做程序的题目只需要最简单和机械的思路就可以,也叫做程序员思维,找出最长的整数序列,那就从头开始找,把每个长度找出来然后以打擂台的方式找出最小值即可。
三.代码实现
#include<bits/stdc++.h>//万能头文件
int main()
{
int n;
scanf("%d",&n);
int num[n+1];
for(int i=0;i<n;i++){
scanf("%d",&num[i]);
}
num[n]=-1;//多设置一位数据以外的数据,以保证最后一位数据能被读入
int max=-1;//设置虚拟擂主
int l=1;
for(int i=0;i<n;i++){
if(num[i]==num[i+1])l++;
else{
if(max<l)max=l;
l=1;
}//打擂台
}
printf("%d",max);
return 0;
}
四.评价
if(num[i]==num[i+1])l++;
注意这一步在最后的时候无法记录最后一个数据,所以虚拟了一个“最后一位数据”,以保证可以录入,题目较简单。所谓“打擂台”即得到一个数据之后与先前数据比较,更加满足要求这成为擂主,最后就可以找到最值,但是先前得设立一个“最弱”的虚拟擂主,这样才能成功运行。