将没有重复的数据压入数组之中,使用includes进行判断,同时,对重复值前面的数据进行截取,使用shift方法弹出,保留重复之之间的字符,然后进行输出判断
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 * 
 * @param arr int整型一维数组 the array
 * @return int整型
 */
export function maxLength(arr: number[]): number {
    // write code here'
    if(arr.length<2) return arr.length
    let num = [],count=0,temp=0,j=0
    for(let i=0;i<arr.length;i++) {
        if(num.includes(arr[i])) {
            if(num.length>count) count = num.length
            //获取第一个重复字符串的位置
            let temp = num.indexOf(arr[i])+1
            for(let j = 0;j<temp;j++) {
                num.shift()
            }
            num.push(arr[i])
        }
        //入栈
        else {
            num.push(arr[i])   
        }

    }
    if(count<num.length) count = num.length
    return count
}