import java.util.*;
public class Solution {
    /**
     * 
     * @param arr int整型一维数组 the array
     * @return int整型
     */
    public int maxLength (int[] arr) {
        if(arr == null || arr.length == 0) {
            return 0 ;
        }
        if(arr.length == 1) {
            return 1 ;
        }
        //f[i]表示 以arr[i]结尾的最长无重复连续子数组的长度
        int f[] = new int[arr.length] ;
        f[0] = 1 ;//初始化 只有一个元素的时候,必然为1
        int maxLen = -1 ;//记录最长的那一个
        for(int i = 1 ; i < f.length ; i ++) {//计算
            f[i] = 1 ;
            //遍历f[i-1],f[i-1]必然是无重复的
            // 0,1,2,3,4
            int len = 0 ;
            for(int j = i-1 ; j >= i-f[i-1] ; j--) {
                if(arr[j] != arr[i]) {
                    len ++ ;
                } else {//有一个重复的 直接break
                    break ;
                }
            }
            f[i] += len ;
            if(f[i] > maxLen) {
                maxLen = f[i] ;
            }
        }
        return maxLen ;
        
        
    }
}