8 solutions

  • 3
    @ 2025-3-3 16:40:10
    #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;
    }
    
    • 1
      @ 2025-12-27 15:46:40
      
      【例】最长平台
      题目描述
      已知一个数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。
      
      例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。
      
      试编写一个程序,接收一个数组,把这个数组最长的平台找出 来。
      
      在上面的例子中3-3-3就是最长的平台。
      
      输入
      第一行有一个整数
      n
      n,为数组元素的个数。
      
      第二行有
      n
      n个整数,整数之间以一个空格分开。
      
      输出
      输出最长平台的长度。
      
      输入数据 1
      10
      1 2 2 3 3 3 4 5 5 3
      输出数据 1
      3
      提示
      1
      ≤
      n
      ≤
      10
      5
      1≤n≤10 
      5
      
      • -1
        @ 2025-1-15 13:41:33
        #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;
        } 
        
        • -1
          @ 2024-8-21 19:32:07
          #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
            @ 2024-4-27 11:39:58
            #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;
            }
            
            
            • -2
              @ 2025-3-3 18:20:19
              #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;
              }
              • -2
                @ 2025-1-16 14:01:46
                #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;
                } 
                
                • -2
                  @ 2024-8-21 19:33:02
                  #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
                  256
                  Accepted
                  75
                  Uploaded By