

left 向右推进到上一次出现位置的后一格。function lengthOfLongestSubstring(s) {
let left = 0;
let ans = 0;
const seen = new Map();
for (let right = 0; right < s.length; right++) {
const ch = s[right];
if (seen.has(ch)) {
left = Math.max(left, seen.get(ch) + 1);
}
seen.set(ch, right);
ans = Math.max(ans, right - left + 1);
}
return ans;
}O(n);Map 存最近出现位置,空间复杂度是 O(字符集大小)。This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.