题解 | #最长无重复子数组#
最长无重复子数组
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