总是写错 谢谢y老师
谢谢题解大哥 双指针yyds
import java.util.*;
public class Main{
private static int N = 100010;
private static int[] a = new int[N];
private static int[] s = new int[N];
public static void main(String[] args){
int ans = 0;
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
for(int i = 0; i < n ;i ++){
a[i] = scan.nextInt();
}
for(int i = 0,j = 0;i < n;i++){
s[a[i]]++;
while(s[a[i]] > 1){
s[a[j]]--;
j++;
}
ans = Math.max(ans, i - j + 1);
}
System.out.println(ans);
}
}