AcWing 496. 机器翻译手写队列
原题链接
简单
作者:
季之秋
,
2021-02-28 21:34:03
,
所有人可见
,
阅读 308
import java.util.*;
public class Main{
static boolean contains(int q[],int l,int r,int a){
for(int i=l;i<=r;i++){
if(q[i]==a) return true;
}
return false;
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int m=sc.nextInt();
int res=0;
int q[]=new int[1001000];
int tt=-1,hh=0;
while(m--!=0){
int a=sc.nextInt();
if(tt!=-1&&contains(q,hh,tt,a)) continue;
if(tt-hh+1>=n){
hh++;
q[++tt]=a;
res++;
}else{
res++;
q[++tt]=a;
}
}
/* java队列库
Queue<Integer> q=new LinkedList<>();
while(m--!=0){
int a=sc.nextInt();
if(q.contains(a)) continue;
if(q.size()==n){
q.poll();
res++;
q.add(a);
}else{
q.add(a);
res++;
}
}*/
System.out.println(res);
}
}