无重复字符的最长子串
js
var lengthOfLongestSubstring = function(s) {
let max = 0,
arr = [] // 窗口
for(let i = 0; i < s.length; i++) {
// 如果当前值在窗口中存在,则从第一个开始到当前值位置全部移除,再推入窗口继续记录最大值
if(arr.includes(s[i])) arr.splice(0, arr.indexOf(s[i]) + 1)
arr.push(s[i]) // 推入窗口
max = Math.max(max, arr.length) // 记录窗口的最大值
}
return max
}