题解 | #最长无重复子数组#
最长无重复子数组
http://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4
采用滑动窗口解法,一次遍历,简洁明了。定义新数组,添加过程中遇到重复的元素,从头到该元素这一段都截掉。继续添加。
/**
*
* @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
};
查看2道真题和解析