找出无重复字符的最长子串

在这里插入图片描述
解法一:维护数组

!](https://upload-images.jianshu.io/upload_images/24769119-70a876512c344ad7?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


解法二:优化的Map
var lengthOfLongestSubstring = function(s) {
    let map = new Map(), max = 0
    for(let i = 0, j = 0; j < s.length; j++) {
        if(map.has(s[j])) {
            i = Math.max(map.get(s[j]) + 1, i)
        }
        max = Math.max(max, j - i + 1)
        map.set(s[j], j)
    }
    return max
};

你可能感兴趣的:(找出无重复字符的最长子串)