题解 | #最长无重复子数组#

最长无重复子数组

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
};
全部评论

相关推荐

11-11 16:40
已编辑
门头沟学院 人工智能
不知道怎么取名字_:这个有点不合理了,相当于已经毕业了,但还是没转正,这不就是白嫖
点赞 评论 收藏
分享
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务