# 无重复字符的最长子串
# 题目
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例:
输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
# 思路
- 利用滑动窗口
- 不存在重复的字符往数组里丢,一旦重复删去前面的元素
- 比较及保存最大长度
# 代码
function lengthOfLongestSubstring(strs) {
const temp = [];
let max = 0
for (let i = 0; i < strs.length; i++) {
const index = temp.indexOf(strs[i])
if (index !== -1) {
temp.splice(0, index + 1)
}
temp.push(strs[i])
max = Math.max(temp.length, max)
}
return max
}