欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > c++习题15-最长平台

c++习题15-最长平台

2025/2/24 22:25:16 来源:https://blog.csdn.net/weixin_53046747/article/details/140958649  浏览:    关键词:c++习题15-最长平台

目录

一,题目 

二,思路 

 三,代码


一,题目 

二,思路 

  1.  因为题目没有给出存放平台的数组的元素个数可以取到的最大值,所以可以直接将存放平台的数组长度设为键盘输入的数组元素个数n,即a[n]。接着再对数组中的元素进行赋值。
  2. 然后遍历数组,将数组中的前后两个元素值进行判断:如果前后这两个元素值相同,那么让当前平台长度c自增,并再进行一次判断:如果当前平台长度c大于之前的平台最大长度m,那么将当前平台长度c赋值给平台最大长度m。如果前后这两个元素值不相同,此时平台断开,那么就让当前平台长度赋值为1,继续去循环,找到下一个连续的平台。(需要注意的是,当前平台长度c的初始值需要设为1,因为即使没有连续重复的元素,当前平台的长度也有1,例如,数组有2个元素:3,2,可以看到3和2不相等,没有连续重复的元素,此时当前平台长度c为1,平台最大长度m为1,如果将当前平台长度的初始值设为0,则结果错误,同理平台最大长度m也一样,m的初始值为1)
  3. 最后输出结果平台最大长度m。

 三,代码

#include <bits/stdc++.h>
using namespace std;
int main()
{int n,m=1,c=1;cin>>n;int a[n];for(int i=0; i<n; i++) cin>>a[i];for(int i=1; i<n; i++){if(a[i]==a[i-1]){c++;if(c>m) m=c;}else c=1;}cout<<m;return 0;
}

有问题请在评论区留言或者是私信我,回复时间不超过一天。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词