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

最长无重复子数组

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

相关推荐

预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
点赞 评论 收藏
分享
10-28 14:42
门头沟学院 Java
watermelon1124:因为嵌入式炸了
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务