#无重复字符的最长子串的长度
#中等 哈希表 字符串 滑动窗口
#abcabcbb=3,bbbbb=1,pwwkew=3,kong=0.
#pwwkew因为无重复字符的最长子串是wke,所以是3,pwke是一个子序列,不是子串
class Solution:
def lengthOfLongestSubstring(self,s: str)->int:
i=0
j=0
m=0
hset={}
while j<len(s):
char=s[j]
index=hset.get(char)
if index is not None and index>i:
i=index
m=m if m>j-i+1 else j-i+1
hset[char]=j+1
j+=1
return m
# %%
s=Solution()
print(s.lengthOfLongestSubstring('pwwkew'))
能用。
最长子串!=子序列,子串必须是挨着的,子序列可以不挨着。