欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

leecode_python中档题:3. 无重复字符的最长子串

程序员文章站 2022-07-12 12:15:27
...

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        start = -1    # max = i- start = 0 - start = 1
        max = 0
        d = {}

        for i in range(len(s)):
            # s[i] in  d ...
            if s[i] in d and d[s[i]] > start:
                start = d[s[i]] # 要查之后会不会重复
                d[s[i]] = i #要更新成最后不重复的位数
            else:
                d[s[i]] = i
                if i - start > max:
                    max = i - start
        return max