求助,思路代码已给出
查看原帖
求助,思路代码已给出
804938
l763447370楼主2022/10/29 22:08

//P1420 最长连号 //1-n连续 重复也算 问最长连号的个数有几个

//思路 //肯定要sort //sort完
//定一个计数器,一个循环, //(这个数下一个为这个数+1) ++ //(这个数下一个等于这个数) = //(这个数下一个不为这个数+1) push_back 另一个数组归零

#include<iostream>
#include<vector>
#include<algorithm>
#include<cstdio>
using namespace std;
int main()
{
	int n, m;
	int count = 1;
	vector<int>arr;
	vector<int>turn;
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> m;
		arr.push_back(m);
	}
	sort(arr.begin(), arr.end());
	int len = arr.size();
	for (int i = 0; i < len-1; i++)
	{
		if (arr[i] == arr[i + 1] - 1)
			count++;
		else if (arr[i] == arr[i + 1])
			count = count;
		else
		{
			turn.push_back(count); 
			count = 1;
		}
	}
	turn.push_back(count);
	int count2 = turn.size();
	sort(turn.begin(), turn.end());
	cout << turn[count2-1];
	return 0;
}
2022/10/29 22:08
加载中...