10 条题解
-
1
按照题意模拟即可
核心代码:
while(n--){ bool find=false; scanf("%d",&k); for(int i=L;i<R;i++) if(que[i]==k) find=true; if(!find) cnt++,que[R++]=k; if(R-L>m) L++; }
循环队列
for(int i = 0;i < n;++i){ int tmp; scanf("%d", &tmp); if(hash[tmp]) continue; hash[tmp] = 1; if(head == tail && i ) hash[zhan[tail]] = 0,tail = (tail + 1) % m; //删除标记。出队 zhan[head] = tmp, head = (head + 1) % m; //入队
信息
- ID
- 48
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 1619
- 已通过
- 715
- 上传者