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

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

相关推荐
AKDreamer_HeXY35 分钟前
ABC434E 题解
c++·算法·图论·atcoder
罗湖老棍子35 分钟前
完全背包 vs 多重背包的优化逻辑
c++·算法·动态规划·背包
potato_may1 小时前
C++ 发展简史与核心语法入门
开发语言·c++·算法
爱装代码的小瓶子1 小时前
【cpp知识铺子】map和set的前身-二叉搜索树
c++·算法
Embedded-Xin2 小时前
Linux架构优化——spdlog实现压缩及异步写日志
android·linux·服务器·c++·架构·嵌入式
[J] 一坚2 小时前
华为OD、微软、Google、神州数码、腾讯、中兴、网易有道C/C++字符串、数组、链表、树等笔试真题精粹
c语言·数据结构·c++·算法·链表
我不会插花弄玉2 小时前
c++入门基础【由浅入深-C++】
c++
不会编程的小寒2 小时前
C and C++
java·c语言·c++
hewayou2 小时前
MFC +Com+ALT工程报 内存泄漏
c++·mfc·内存泄漏·com技术
liulilittle2 小时前
C++ SSE/AVX/SHA/AES指令集检查,用于程序定向优化。
开发语言·c++·cpu·asm·detect·il·features