题解 | #最长无重复子数组#

最长无重复子数组

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

双指针,左指针固定指向无重复字符串开头,右指针不断寻找结尾

用字典保存字符的下标

# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param arr int整型一维数组 the array
# @return int整型
#
class Solution:
    def maxLength(self , arr: List[int]) -> int:
        # write code here
        l,r = 0,0
        hashmap = {}
        result = 0
        if len(arr) <2:
            return len(arr)
        else:
            while r < len(arr):
                if arr[r] not in hashmap:
                    hashmap[arr[r]] = r

                    result = max(result, r - l + 1)
                    r += 1
                else:
                    l = max(hashmap[arr[r]]+1,l)
                    hashmap[arr[r]] = r
                    result = max(result,r - l + 1)
                    r += 1
            return result
                
                
全部评论

相关推荐

点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务