给定一个长度为 nn 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。
输入格式
第一行包含整数 nn。
第二行包含 nn 个整数(均在 0∼1050∼105 范围内),表示整数序列。
输出格式
共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。
数据范围
1≤n≤1051≤n≤105
输入样例:
5 1 2 2 3 5输出样例:
3
- #include
- typedef long long ll;
- typedef double db;
- using namespace std;
- const int N=1e5+10;
- int a[N],n;
- int c[N];
- signed main()
- {
- ios :: sync_with_stdio(false);
- cin.tie(0);
- cout.tie(0);
- cin>>n;
- int r=0;
- for(int i=1,j=1;i<=n;i++)
- {
- cin>>a[i];
- ++c[a[i]];
- while(c[a[i]]>1)--c[a[j++]];
- r=max(r,i-j+1);
- }
- cout<
-
- return 0;
- }