#include<bits/stdc++.h>
using namespace std;
int main() {
int n; // 输入数组长度
cin>>n;
int str[n]; // 定义数组
int k=-1; // 用于记录上一个元素的值
int sum=1; // 当前相同元素的个数
int maxlen=1; // 最大相同元素的个数
for(int i=0;i<n;i++){
cin>>str[i]; // 输入数组元素
if(k==str[i]){ // 如果当前元素等于上一个元素
sum++; // 更新相同元素的个数
if(sum>maxlen){
maxlen=sum; // 更新最大相同元素的个数
}
}else{ // 如果当前元素不等于上一个元素
k=str[i]; // 更新上一个元素的值
sum=1; // 重置相同元素的个数
}
}
cout<<maxlen; // 输出最大相同元素的个数
return 0;
}
这段代码的功能是求一个数组中最长连续相同元素的个数。它通过循环遍历数组,使用变量 k
记录上一个元素的值,使用变量 sum
记录当前相同元素的个数,使用变量 maxlen
记录最大相同元素的个数。当当前元素与上一个元素相等时,sum
加 1,并且更新 maxlen
的值;当当前元素与上一个元素不相等时,重置 sum
为 1,更新 k
的值为当前元素。最后输出 maxlen
的值。