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

最长无重复子数组

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-27 15:50
门头沟学院 Java
想进开水团喝开水:有一种店 只能外卖 不能堂食 你猜为什么
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-09 16:39
已编辑
英俊的靓仔offer...:我感觉吧第二个寻迹小车的项目有点配不上你的学历了,写上去扣分了都可能对你来说,好歹是211硕士嘛,写在我这种二本混子的简历上还说得过去,个人观点哦,能再有个好点的项目应该会好很多,或者干脆不写第二个换个啥实习经历?
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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