题解 | 最长无重复子数组

最长无重复子数组

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 
        

全部评论

相关推荐

10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活
应届生简历当中,HR最关...
点赞 评论 收藏
分享
FFFoly:我也是,现在已经到了学长说的 能面试侃侃而谈的阶段了,但是已经没有公司给我面了
远程面试的尴尬瞬间
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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