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

最长无重复子数组

http://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4

/**
 * 
 * @param arr int整型一维数组 the array
 * @return int整型
 */
function maxLength( arr ) {
    // write code here
     var max=0;
    var str=[];
    for(let i in arr){
    //搜寻是否已存在同样的字符
        var index=str.indexOf(arr[i]);
        if(index!=-1){
            str.splice(0,str.indexOf(arr[i])+1);//存在则将该字符和前面的字符都除去
        }
        str.push(arr[i]);
        max = Math.max(str.length,max);//拿到这个过程中所有产生的最大子串长度
    }
    console.log(max)
    return max;
}
module.exports = {
    maxLength : maxLength
};
全部评论
如果不利用 str,用双指针记录位置,arr.slice 获取一次字串就会超时
点赞 回复 分享
发布于 2022-03-25 23:33

相关推荐

叁六玖:你看,最后不是让你加油,就是鼓励你,还祝福你求职顺利。
点赞 评论 收藏
分享
09-13 08:41
服装/纺织设计
那一天的Java_J...:你第一次参加面试吗
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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