I13-leetcode3无重复字符的最长子串

题目描述:

算法:滑动窗口

用一个变量存储窗口中的子串,如果当前字符出现在窗口中,则更新窗口,截取出现的字符的位置+1;若没出现,咋直接加进窗口中即可。在滑动的过程中,记录最长窗口长度。
class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        #方法一:滑动窗口
        ss=''#滑动窗口
        ans=0
        for i in s:
            if i not in ss:
                ss+=i
                ans=max(ans,len(ss))
            else:
                ss=ss[ss.index(i)+1:]+i
        return ans

猜你喜欢

转载自blog.csdn.net/m0_58086930/article/details/128627865