def maxLength(arr):
curDict={}
curKeys=[]
i,ml=0,0
while True:
while i<len(arr) and curDict.get(arr[i])==None:
curDict[arr[i]]=1
curKeys.append(arr[i])
i+=1
if i==len(arr):break
ml=max(ml,len(curDict))
index=curKeys.index(arr[i])
for j in range(index+1):
curDict.pop(curKeys[j])
for j in range(index+1):
curKeys.pop(0)
return max(ml,len(curDict))
#方法:建立滑动窗口,如果一直检测不到重复元素,就把该元素加入到滑动窗口中,如果检测到重复元素,首先比#较当前最大无重复元素子数组的长度和当前窗口长度的最大值,取其最大作为当前最大无重复元素子数组长度,然#后就找到窗口里重复元素的位置,将窗口中该位置及之前的元素删除,