关于#java#的问题:java算法题

这为什么错了呢?测试用了过了,我自己试了其他的也过了

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();//输入n的值
        int arr[] = new int [num];
        for(int i =0;i < num ;i ++){
            arr[i] = scanner.nextInt();
        }//给arr数组输入值
        LinkedHashSet map1 = new LinkedHashSet();
        LinkedHashSet map2 = new LinkedHashSet();
        for(int i =0; i < num; i ++){
            if(!(map1.add(arr[i]))){//遇到有重复的值进入

                if(map1.size() > map2.size()){
                    map2.clear();
                    map2.addAll(map1);
                }
                map1.clear();
                i--;
            }
        }
        if(map1.size() > map2.size()){//循环到最后都没有重复的情况
            map2.clear();
            map2.addAll(map1);
        }
        System.out.println(map2.size());


    }

}

img

img

img

你这肯定有问题的,你把map清了之后不是应该还要把最后一个值加进去吗?有重复后的下一次循环是包括当前这个值的