SOURCE

function lengthOfLongestSubString (str) {
    const occ = new Set();
    const n = str.length;

    let rk = -1;
    let ans = 0;

    for(let i = 0; i < n ; i ++ ) {
        if (i !== 0 ) {
            occ.delete(str.charAt(i - 1))
        }
        while( rk + 1 < n && !occ.has(str.charAt(rk + 1))) {
            occ.add(str.charAt(rk+1))
            ++rk;
        }
        ans = Math.max(ans, rk - i + 1);
    }
    return ans;
}

console.log(lengthOfLongestSubString('abcbcefd'))
console 命令行工具 X clear

                    
>
console