题解 | 最长无重复子数组

最长无重复子数组

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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#  题解 
https://leetcode.cn/problems/longest-substring-without-repeating-characters/submissions/
# 
# @param arr int整型一维数组 the array
# @return int整型
#
class Solution:
    def maxLength(self , arr: List[int]) -> int:
        # write code here
        n=len(arr)
        ans=0
        rk=-1 # 设置一个向右的指针
        st=set()
        for i in  range(0,n):
            if i!=0:
                st.remove(arr[i-1])
            while rk+1<n and arr[rk+1]  not in st:
                st.add(arr[rk+1])
                rk+=1
            ans=max(ans,len(st))
        return ans 
        

    def maxLength1(self , arr: List[int]) -> int:
        # write code here
        n=len(arr)
        ans=0
        if n==1:
            return 1
        for i in  range(n-1):
            st=set()
            st.add(arr[i])
            for  j in range(i+1,n):
                if arr[j] in st:
                    break
                else:
                    st.add(arr[j])
            #print(st)
            ans=max(ans,len(st))
        return ans 
        

全部评论

相关推荐

07-23 12:04
门头沟学院 Java
现在是很缺人吗
码农索隆:缺分母,不缺分子,这样好作为炫耀的资本
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务