import java.util.*;
public class Solution {
/**
*
* @param arr int整型一维数组 the array
* @return int整型
*/
public int maxLength (int[] arr) {
// write code here
if(arr.length == 0){
return 0;
}
if(arr.length == 1){
return 1;
}
//用来存放当前动态计算的的数
ArrayList<Integer> curlist = new ArrayList<>();
//用来存放当前最长无重复的数
ArrayList<Integer> maxlist = new ArrayList<>();
curlist.add(arr[0]);
maxlist.add(arr[0]);
for(int i = 1;i<arr.length;i++){
if(curlist.contains(arr[i])){
//已经包含了 就把之前的舍弃掉
Iterator<Integer> it = curlist.iterator();
while(it.hasNext()){
if(it.next() == arr[i]){
it.remove();
break;
} else {
it.remove();
}
}
}
curlist.add(arr[i]);
//和maxList比较哪个长保留哪个
if(maxlist.size() < curlist.size()){
maxlist.clear();
maxlist.addAll(curlist);
}
}
return maxlist.size();
}
}