普及二第5题

#include<bits/stdc++.h>
using namespace std;
int n,a[200000],b[200001]={},sum=1,ans=1;
int main(){
	cin>>n;
	for(int i=0;i<n;i++)
		cin>>a[i];
	for(int i=0;i<n;i++){
		b[a[i]]=1;
		for(int j=i+1;j<n;j++){
			if(b[a[j]]==1) break;
			b[a[j]]=1;
			sum++;
		}
		if(sum>ans) ans=sum;
		sum=1;
		memset(b,0,200001);
	}
	cout<<ans;
	return 0;
}

WA50分,第6-10个样例错了

1 个赞

建议你先看一下这个

题面?

2 个赞

帮他发了

题目描述
小埋最近迷上了优雅序列。
优雅序列的定义是,在一段连续的序列中,包含的数字中不会出现重复数字。
现在给你一个长度为n的数组,请你告诉小埋其中最长的优雅序列的长度是多少。
样例 #1
样例输入 #1
5
1 2 3 1 2
样例输出 #1
3
样例 #2
样例输入 #2
9
1 1 1 2 2 2 1 1 3
样例输出 #2
2
1 个赞

这题用双指针

1 个赞