193. 【应-43-2·难】循环队列模拟
中等
Python
📋 题目描述
实现一个容量为 K 的队列,依次执行 M 条操作。每条操作为:
- `PUSH x`:把整数 x 入队;若队列已满(元素数 == K),输出 `FULL`,且 x 不入队。
- `POP`:把队首元素出队并输出该值;若队列为空,输出 `EMPTY`。
正常 PUSH 不输出任何内容。请按操作顺序输出每次需要输出的内容,每条独占一行。
📥 输入描述
第一行两个整数 K M(1<=K<=1000, 1<=M<=2000)。
接下来 M 行,每行是 `PUSH x` 或 `POP`。
📤 输出描述
对每次需要输出的操作(PUSH 满、POP 空、POP 正常),按发生顺序各输出一行。
输入样例
3 6 PUSH 1 PUSH 2 PUSH 3 PUSH 4 POP POP
输出样例
FULL 1 2
提示:解法 A:用 list 当队列,len(queue)==K 视为满,pop(0) 作出队。
解法 B:用 collections.deque,但仍然手动判断容量,避免 maxlen 自动覆盖。
请登录后提交代码