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;
}

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

相关推荐
汉克老师8 分钟前
GESP2025年9月认证C++四级( 第三部分编程题(1)排兵布阵)
c++·算法·gesp4级·gesp四级
·心猿意码·1 小时前
C++智能指针解析
开发语言·c++
property-2 小时前
C++中#define和const的区别
开发语言·c++
怎么没有名字注册了啊3 小时前
查找成绩(数组实现)
c++·算法
AI+程序员在路上4 小时前
QT6中Combo Box与Combo BoxFont 功能及用法
c++·qt
L_09074 小时前
【Algorithm】Day-4
c++·算法·leetcode
煜3645 小时前
C++异常与智能指针
开发语言·c++
光头闪亮亮5 小时前
ZBar 环境搭建与快速入门指南
c++
闭着眼睛学算法5 小时前
【双机位A卷】华为OD笔试之【模拟】双机位A-新学校选址【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
java·c语言·javascript·c++·python·算法·华为od
卿摆摆6 小时前
【C++】string的模拟实现
开发语言·c++