给定一个长度为n的整数序列,请找出最长的不包含重复数字的连续区间,输出它的长度。
运用双指针
#include<iostream>
#include<iostream>
#include<iostream>
using namespace std;
const int N=1e6+5;
int n;
int a[N],s[N];
int main()
{
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
int res=0;
for(int i=0,j=0;i<n;i++)
{
s[a[i]]++;
while(s[a[i]]>1)
{
s[a[j]]--;
j++;
}
res=max(res,i-j+1);
}
cout<<res<<endl;
return 0;
}