将没有重复的数据压入数组之中,使用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 }