SOURCE

/**
 * https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
 * 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
 * 
 * 输入: s = "abcabcbb"
 * 输出: 3 
 * 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
 */

const str = 'pwwkew';
const i = [1,2,3,4,5,6,1];
function maxUniq(str){
    const len = str.length
    let left = 0
    let right = 0
    let map = {}
    let max = 0

    while(right < len){
        const char = str[right]
        if(map[char] !== undefined){
            // 字符存在,该字符上一次的位置 map[char]
            left = map[char] + 1
        }
        map[char] = right
        max = Math.max(max, right - left + 1)
        right++
    }
    
    console.log(max, JSON.stringify(map))
}

maxUniq(str)
// console.log(maxUniq(str))
console 命令行工具 X clear

                    
>
console