纯暴力写for(i=0;i<n;i++)
for(j=0;j<n;j++) 暴力搜
优化代码如下:
#include<iostream>
#include<algorithm>
using namespace std;
int a[1000005];
int s[1000005];
int main()
{
int i,j;
int n;
int res=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(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);
}
printf("%d\n",res);
}