leetcode-python-无重复字符的最长子串

Posted 泊鸽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-python-无重复字符的最长子串相关的知识,希望对你有一定的参考价值。

1)双指针,若fast不存在temp中,则加入。若存在则删除首位,slow前进一位。

保留一个临时变量保存最大长度。

时间复杂度O(n)

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        length = len(s)
        if length == 0:
            return 0
        if length == 1:
            return 1
        result = list()
        slow = 0
        fast = 1
        maxlength = 0
        temp = s[slow]
        while slow <length and fast < length:
            
            if s[fast] not in temp:
                temp += s[fast]
                fast += 1
            else:
                slow += 1
                temp =s[slow:fast]
            maxlength = max(maxlength, len(temp))
        return maxlength

 

 

 

以上是关于leetcode-python-无重复字符的最长子串的主要内容,如果未能解决你的问题,请参考以下文章

leetcode-python-无重复字符的最长子串

算法--最长无重复字符子串

无重复字符的最长子串

无重复字符的最长子串(力扣中等难度)

无重复字符的最长子串(力扣中等难度)

无重复字符的最长子串(力扣中等难度)