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。

三,代码

cpp 复制代码
#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;
}

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

相关推荐
自信1504130575916 小时前
重生之从0开始学习c++之模板初级
c++·学习
历程里程碑17 小时前
2. Git版本回退全攻略:轻松掌握代码时光机
大数据·c++·git·elasticsearch·搜索引擎·github·全文检索
极客智造17 小时前
深度解析 C++ 类继承与多态:面向对象编程的核心
c++
零号全栈寒江独钓20 小时前
基于c/c++实现linux/windows跨平台获取ntp网络时间戳
linux·c语言·c++·windows
CSCN新手听安20 小时前
【linux】高级IO,以ET模式运行的epoll版本的TCP服务器实现reactor反应堆
linux·运维·服务器·c++·高级io·epoll·reactor反应堆
松☆21 小时前
C++ 算法竞赛题解:P13569 [CCPC 2024 重庆站] osu!mania —— 浮点数精度陷阱与 `eps` 的深度解析
开发语言·c++·算法
(Charon)1 天前
【C++/Qt】C++/Qt 实现 TCP Server:支持启动监听、消息收发、日志保存
c++·qt·tcp/ip
并不喜欢吃鱼1 天前
从零开始C++----七.继承及相关模型和底层(上篇)
开发语言·c++
tankeven1 天前
HJ182 画展布置
c++·算法
W23035765731 天前
【改进版】C++ 固定线程池实现:基于调用者运行的拒绝策略优化
开发语言·c++·线程池