'''
解题思路:
方法一:用一个队列,把元素不停的加入到队列中,如果队列中有相同的元素,就把队首的相同元素及之前的元素都移除
方法二:使用两个指针,一个i一个j,最开始的时候i和j指向第一个元素,然后i往后移,把扫描过的元素都放到map中,如果i扫描过的元素没有重复的就一直往后移,顺便记录一下最大值max,如果i扫描过的元素有重复的,就改变j的位置
'''
#
# 
# @param arr int整型一维数组 the array
# @return int整型
#
class Solution:
    def maxLength(self , arr ):
        # write code here
        queue = []
        maxLen = 0
        for i in arr:
            if i not in queue:
                queue.insert(0,i)
            else:
                while queue[-1] != i:
                    queue.pop()
                queue.pop()
                queue.insert(0,i)
            if len(queue)>maxLen:
                maxLen = len(queue)
        return maxLen