7 solutions
-
1
#include<bits/stdc++.h> using namespace std; const int N=100000+10; int a[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } int res=0; for(int i=1;i<=n;i++) { int j=i; while(j<=n&&a[i]==a[j]) j++; j--; int len=j-i+1; if(len>res) { res=len; } i=j; } cout<<res; return 0; }
-
0
#include<bits/stdc++.h> using namespace std; const int N=100000+10; int a[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } int res=0; //所有元素的平台的最大长度 for(int i=1;i<=n;i++) { //这个时候i就是往上的箭头 int j=i;//j就是往下的箭头 while(j<=n&&a[i]==a[j]) j++; //while结束以后a[i]和a[j]一定不一样,然后j退了一步以后一定是一样的 j--; //这个时候i就是当前这个平台的起点,j就是当前这个平台的终点 int len=j-i+1; //当前这个平台的长度 if(len>res) { res=len; } i=j;//跳到了下一个平台了 } cout<<res; return 0; }
-
0
#include<iostream> using namespace std; int main(){ int a[100001]; int n,temp=1,max=0,t; cin>>n; if(n==1) cout<<1; else { for(int i=1;i<=n;i++) { cin>>a[i]; } t=a[1]; for(int i=2;i<=n;i++) { if(a[i]==t) temp+=1; else { temp=1; t=a[i]; } if(max<temp) max=temp; } cout<<max; } return 0; }
-
0
#include<iostream> using namespace std; int main(){ int a[100010]; int n,max1=1,max2=0,t; cin>>n; if(n==1){ cout<<1; }else{ for(int i=0;i<n;i++){ cin>>a[i]; } t=a[0]; for(int i=1;i<n;i++){ if(a[i]==t){ max1+=1; }else{ if(max1>max2){ max2=max1; max1=1; t=a[i]; } } } cout<<max2; } return 0; }
-
0
#include<bits/stdc++.h> using namespace std; int shuru[100002]; int main(){ int shuru1,max,qwer; cin>>shuru1; max=1; qwer=1; for(int i=1;i<=shuru1;i++) { cin>>shuru[i]; } for(int i=1;i<=shuru1;i++) { qwer=1; while(shuru[i]==shuru[i+1]) { qwer++; i++; } if(qwer>max) { max=qwer; } } cout<<max; return 0; }
-
0
#include<bits/stdc++.h> using namespace std; const int N=100010; int a[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } int maxv=0; for(int i=1;i<=n;i++) { int j=i; while(j<=n&&a[i]==a[j]) j++; //j是第一个和a[i]不同的位置 j--; //回到和a[i]相等的最后一个位置 int len=j-i+1; //计算长度 maxv=max(maxv,len); //更新最长的一段 i=j; //移动到最后一个和a[i]相等的位置 } cout<<maxv; return 0; }
-
-1
#include<bits/stdc++.h> using namespace std; int shuru[100002]; int main(){ int shuru1,max,qwer; cin>>shuru1; max=1; qwer=1; for(int i=1;i<=shuru1;i++) { cin>>shuru[i]; } for(int i=1;i<=shuru1;i++) { qwer=1; while(shuru[i]==shuru[i+1]) { qwer++; i++; } if(qwer>max) { max=qwer; } } cout<<max; return 0; }
- 1
Information
- ID
- 900
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 176
- Accepted
- 43
- Uploaded By