题解 | #最长无重复子串_滑动窗口

最小覆盖子串

http://www.nowcoder.com/practice/c466d480d20c4c7c9d322d12ca7955ac

@param arr int整型一维数组 the array

@return int整型

#滑动窗口 #1.不断维持滑动窗口内是无重复的,同时继续左移右指针,记录最大长度 #2.如果发现窗口内出现重复,则于东左指针,直到重复消失


#list可以调用sort函数(key,reverse=True)
class Solution:
    def maxLength(self , arr ):
        # write code here
        mm=dict()
        left=0
        right=0
        maxlen=0
        length=len(arr)
        while right<length:
            c=arr[right]
            right+=1
            if c in mm.keys():
                mm[c]+=1
                while mm[c]>1:
                    w=arr[left]
                    left+=1
                    mm[w]-=1
            else:
                mm[c]=1
                if len(mm)>maxlen:
                    maxlen=len(mm)
        return maxlen
       ```  
        
全部评论

相关推荐

明天不下雨了_人机版:让我们大声的说出来:以前的未来就是现在
点赞 评论 收藏
分享
05-29 09:02
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务