import java.util.*; public class Solution { /** * * @param arr int整型一维数组 the array * @return int整型 */ public int maxLength (int[] arr) { // write code here int maxLength=0; for(int i=0;i<arr.length;i++){ HashMap<Integer,Integer> map=new HashMap<>(); map.put(arr[i],i); int j=i+1; for(;j<arr.length;j++){ if(map.keySet().contains(arr[j])){ //这里做优化,跳到重复元素 第一次出现位置的后面一个位置,因为循环会+1 所以这里不 +1 i=map.get(arr[j]); break; } map.put(arr[j],j); } maxLength=Math.max(maxLength,map.size()); if(j>=arr.length){ return maxLength; } } return maxLength; } }