Python教程

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

本文主要是介绍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-无重复字符的最长子串的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!