| 试题编号: | 201509-1 |
| 试题名称: | 数列分段 |
| 时间限制: | 1.0s |
| 内存限制: | 256.0MB |
| 问题描述: |
问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段? 输入格式 输入的第一行包含一个整数n,表示数列中整数的个数。 输出格式 输出一个整数,表示给定的数列有多个段。 样例输入 8 样例输出 5 样例说明 8 8 8是第一段,0是第二段,12 12是第三段,倒数第二个整数8是第四段,最后一个0是第五段。 评测用例规模与约定 1 ≤ n ≤ 1000,0 ≤ ai ≤ 1000。 |
#include<bits/stdc++.h>
using namespace std;
//const int maxn=1010;
//int a[maxn];
int main()
{
int n,ans=1;
int x,pre;
cin>>n>>pre;
for(int i=0;i<n-1;i++)
{
cin>>x;
if(x!=pre) ans++;
pre=x;
}
cout<<ans;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main()
{
int pre=-1;
int x;
int ans=0;
int n;
cin>>n;
while(n--)
{
cin>>x;
if(x!=pre) ans++;
pre=x;
}
cout<<ans;
return 0;
}
本文详细解析了一道关于数列分段的算法题目,通过分析连续相同整数序列的特性,介绍了两种高效的C++实现方法,旨在帮助读者理解并掌握数列分段算法的核心思想。
617

被折叠的 条评论
为什么被折叠?



