信息学奥赛一本通T1116:一维数组 最长平台

【题目描述】已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。试编写一个程序,接收一个数组,把这个数组最长的平台找出 来。在上面的例子中3-3-3就是最长的平台。【输入】输出最长平台的长度。【输出】按顺序输出每个数的出现次数,一行

信息学奥赛一本通T1116:最长平台

【题目描述】

已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。

试编写一个程序,接收一个数组,把这个数组最长的平台找出 来。在上面的例子中3-3-3就是最长的平台。

【输入】

输出最长平台的长度。

【输出】

按顺序输出每个数的出现次数,一行一个数。如果没有出现过,则输出0。

对于例子中的数组,最大的数是3,因此我们只统计{0,1,2,3}的出现频数。

【输入样例】

10
1 2 2 3 3 3 4 5 5 6

【输出样例】

3

【源程序】

#include<iostream>
using namespace std; 
int main() 
{
    int n,a[100001];
    int max=-9999,len=1;
    int i;
    
    cin>>n;//输入数组大小n
    a[0]=-3456497;//保证a[0]与a[1]不相同
    for(i=1;i<=n;i++)
    {
        cin>>a[i];//输入元素
    	if(a[i]==a[i-1])//若当前元素与之前一个元素相同
            len++;//平台长度+1
    	else//否则
            len=1;//平台长度重归为1
    	if(len>max)//记录最大平台值
            max=len;
    }
    cout<<max<<endl;
    return 0;
}

 

信息学奥赛一本通T1116:一维数组 最长平台 归属于 一维数组,更多同类题解源程序见:一维数组 和 最长平台

0 条评论

请先 登录 后评论
不写代码的码农
轩爸

0 篇文章

作家榜 »

  1. admin 2 文章
  2. 张芳 0 文章
  3. hanna 0 文章
  4. Jason 0 文章
  5. lixiaioqian 0 文章
  6. GeraldWrora 0 文章
  7. 董伟 0 文章
  8. 信奥达人 0 文章