无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串(看好题目,是最长子串) 的长度
思路:
滑动窗口法
class Solution(object):
def lengthOfLongestSubstring(self, s):
"""
:type s: str
:rtype: int
"""
max_length, cur_length, left = 0, 0, 0
unique = set()#用python中的set集合去重
for i in s:
cur_length+=1
while i in unique:#如果unique中有i,要把unique中i左边的全部移除
unique.remove(s[left])
cur_length-=1
left+=1
if max_length < cur_length:
max_length = cur_length
unique.add(i)
return max_length