题解 | 最长无重复子数组

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param arr int整型一维数组 the array
 * @return int整型
 */
function maxLength(arr) {
    if (arr.length === 0) return 0;
    let left = 0;
    let maxLen = 0;
    const map = new Map();
    for (let right = 0; right < arr.length; right++) {
        const currentChar = arr[right];

        if (map.has(currentChar) && map.get(currentChar) >= left) {
            left = map.get(currentChar) + 1;
        }
        map.set(currentChar,right);
        maxLen = Math.max(maxLen, right - left + 1);
    }
    return maxLen;
}
module.exports = {
    maxLength: maxLength,
};

全部评论

相关推荐

02-04 21:37
门头沟学院 Java
学院本因考研导致一年没碰代码,实习经历是在老师项目组做的项目,所以写的是23年实习的。
神哥不得了:神哥来答疑啦~主要技术的话没有用star法则的写,其余的部分问题不大,感觉还是一个挺标准的简历的
点赞 评论 收藏
分享
想要offer的牛油果很大方:老哥,你啥时候面的,有timeline吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务