题解 | #最长无重复子数组#
最长无重复子数组
http://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4
#
# 创建一个列表lis表示arr的不重复子列表,遍历arr,lis为每一个元素的最大不重复子列表。
#
#
# @param arr int整型一维数组 the array
# @return int整型
#
class Solution:
def maxLength(self , arr: List[int]) -> int:
# write code here
if len(arr)<=1:
return len(arr)
lis = []
res = max(res, len(lis))
lis.append(i)
res = max(res,len(lis))
return res
# 创建一个列表lis表示arr的不重复子列表,遍历arr,lis为每一个元素的最大不重复子列表。
#
#
# @param arr int整型一维数组 the array
# @return int整型
#
class Solution:
def maxLength(self , arr: List[int]) -> int:
# write code here
if len(arr)<=1:
return len(arr)
lis = []
res = 1
# 遍历arr
for i in arr:
# i在lis中有重复,i前的最大不重复子列表长度为max(res, len(lis)),更新lis为重复元素之后的元素,再加上i
if i in lis:res = max(res, len(lis))
lis = lis[lis.index(i)+1:] + [i]
# 若不重复,将i添加到lis中,i前的最大不重复子列表长度为res = max(res,len(lis))
else:lis.append(i)
res = max(res,len(lis))
return res