package main

/**
 * 
 * @param arr int整型一维数组 the array
 * @return int整型
*/
func maxLength( arr []int ) int {
    // write code here
    maxLen := 0
    len := 0
    left := -1
    valueMap := make(map[int]int)
    for idx, a := range arr {
        if valueIdx, ok := valueMap[a]; !ok || valueMap[a] == -1 {
            len++
        } else {
            if valueIdx > left {
                left = valueIdx
            }
            len  = idx - left
        }
        valueMap[a] = idx
        if maxLen < len {
            maxLen = len
        }
    }
    return maxLen
}