采用滑动窗口解法,一次遍历,简洁明了。定义新数组,添加过程中遇到重复的元素,从头到该元素这一段都截掉。继续添加。
/** * * @param arr int整型一维数组 the array * @return int整型 */ function maxLength( arr ) { // write code here var array = []; var max = 0; for(let i=0;i<arr.length;i++){ if(array.indexOf(arr[i])>-1){ array.splice(0,array.indexOf(arr[i])+1); } array.push(arr[i]); max = Math.max(max,array.length); } return max; } module.exports = { maxLength : maxLength };