求助一道题
  • 板块灌水区
  • 楼主zhz_2013
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/3/24 20:19
  • 上次更新2024/3/24 21:56:59
查看原帖
求助一道题
980236
zhz_2013楼主2024/3/24 20:19

最长连续不重复子序列

题目描述

给定一个长度为 n 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。

输入格式

第一行包含整数 n。

第二行包含 n 个整数(均在 0~10^5 范围内),表示整数序列。

输出格式

共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。

样例 #1

样例输入 #1

5
1 2 2 3 5

样例输出 #1

3

提示

数据范围 1≤n≤100000
code:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	set<int> s;
	int ans=0;
	cin>>n;
	int x;
	for(int i=1;i<=n;i++){
		cin>>x;
		if(s.count(x)){
			ans=max(ans,int(s.size()));
			s.clear();
			s.insert(x);
		}else{
		    s.insert(x);
		}
	}
	ans=max(ans,(int)s.size());
	cout<<ans<<endl;
} 

WA了,帮我检查一下

2024/3/24 20:19
加载中...