Python无重复字符的最长子串

无重复字符的最长子串

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

示例:

输入: "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        max = sum = i = j = 0
        dic = {}
        while j < len(s):
            if s[j] not in dic:
                dic[s[j]] = 0
                sum = j - i + 1
                if sum > max:
                    max = sum
                j += 1
            else:
                dic.pop(s[i])
                sum -= 1
                i += 1
        return max
posted @ 2020-04-25 10:33  怀心抱素  阅读(598)  评论(0编辑  收藏  举报