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

最长无重复子数组

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-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
牛客263158796号:我领羊一面后十天不挂也不推进 今天问hr说等前序的第一批意向发完看情况再看是否推进
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务