给定一个长度为 n
的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。
输入格式
第一行包含整数 n
。
第二行包含 n
个整数(均在 0∼105范围内),表示整数序列。
输出格式
共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。
数据范围
1≤n≤105
#include<iostream> using namespace std; const int N=100010; int n[N],m[N]; int main() { int a; cin>>a; int x=0; for(int i=0;i<a;i++)cin>>n[i]; for(int i=0,j=0;i<a;i++) { m[n[i]]++; while(m[n[i]]>1) { m[n[j]]--; j++; } x=max(x,i-j+1); } cout<<x<<endl; }