【模拟】简易版最长序列

1048: 简易版最长序列 分享至QQ空间
时间限制(普通/Java):1000MS/10000MS 内存限制:65536KByte
总提交: 4392 测试通过:1117
描述

给你一组数(未排序),请你写设计一个程序:求出里面个数最多的数。并输出这个数的长度。
例如:给你的数是:1、 2、 3、 3、 4、 4、 5、 5、 5 、6, 其中只有6组数:1, 2, 3-3, 4-4, 5-5-5 and 6.
最长的是5那组,长度为3。所以输出3。

输入

第一行为整数t((1 ≤ t ≤ 10)),表示有n组测试数据。
每组测试数据包括两行,第一行位数组的长度n (1 ≤ n ≤ 10000)。第二行为n个整数,所有整数Mi的范围都是(1 ≤ Mi ≤ 232-1)

输出

对应每组数据,输出个数最多的数的长度。

样例输入

1
10
1 2 3 3 4 4 5 5 5 6

样例输出

3

代码:
#include<bits/stdc++.h>
using namespace std;
long long M[10001];
int main()
{
int t;
cin>>t;
while(t–)
{
int n;
cin>>n;
for (int i=0;i<n;i++)
scanf("%lld",&M[i]);
int maxx=0;
for (int i=0;i<n;i++)
{
int num=1;
for (int j=i+1;j<n;j++)
{
if (M[i]==M[j])
num++;
/else
{
i=j-1;
break;
}
/ //思考题:如何修改存在错误的时间优化?
}
maxx=max(maxx,num);
}
cout<<maxx<<endl;
}
return 0;
}

扫描二维码关注公众号,回复: 8533078 查看本文章
发布了40 篇原创文章 · 获赞 0 · 访问量 698

猜你喜欢

转载自blog.csdn.net/Skynamer/article/details/102639891