every blog every motto: You will never know unless you try
0. 前言
改变策略
1. 正文
1.1 题目
1.2 代码
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
if not s: return 0
left = 0
looked = set() # 窗口
n = len(s) # 总长度
max_len = 0 # 最大长度
cur_len = 0 # 当前长度
for i in range(n):
cur_len += 1 # 当前长度 + 1
# 如果当前值在窗口中,从窗口左侧删除值
while s[i] in looked:
looked.remove(s[left])
left += 1 # 窗口左侧向右移动
cur_len -= 1 # 当前长度 -1
# 如果当前长度大于最大长度,更新最大长度
if cur_len > max_len:
max_len = cur_len
# 窗口加入当前值
looked.add(s[i])
return max_len