5 条题解

  • -1
    @ 2024-10-23 11:45:27
    def f(lt,s,e,t,mx): #查找英文单词是否在内存里
        flag=False
        while s!=e:
            if t==lt[s]:
                flag=True
                break
            s=(s+1)%mx
        return flag
    
    m,n = map(int,input( ).split( ))   #输入内存单元数m和英语文章长度为n(空格分隔)
    la = list(map(int,input( ).split( )))   #依次读入n个英文单词,用正整数表示(空格分隔)
    maxsize=m+1
    lb=[-1]*maxsize
    head,tail=0,0
    ans=0
    for i in range(n):
        t=la[i]
        if not f(lb,head,tail,t,maxsize):
            if head==(tail+1)%maxsize:
                head=(head+1)%maxsize
            lb[tail]=t
            tail=(tail+1)%maxsize
            ans+=1
    print(ans)
    

信息

ID
128
时间
1000ms
内存
128MiB
难度
5
标签
递交数
634
已通过
241
上传者