题解 | 【模板】队列操作
【模板】队列操作
https://www.nowcoder.com/practice/1137c8f6ffac4d5d94cc1b0cb08723f9
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
public class Main {
private static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
private static StreamTokenizer st = new StreamTokenizer(reader);
private static PrintWriter writer = new PrintWriter(new BufferedOutputStream(System.out));
private static final int MAXN = (int) 1e5 + 1;
private static int[] deque = new int[MAXN];
private static int l, r;
private static int n;
private static void build() {
l = r = 0;
}
public static void main(String[] args) throws IOException {
while (st.nextToken() != StreamTokenizer.TT_EOF) {
build();
n = (int) st.nval;
for (int i = 0, op, x; i < n; i++) {
st.nextToken();
op = (int) st.nval;
if (op == 1) {
st.nextToken();
x = (int) st.nval;
deque[r++] = x;
} else if (op == 2) {
if (size() == 0) {
writer.println("ERR_CANNOT_POP");
} else {
l++;
}
} else if (op == 3) {
writer.println(size() == 0 ? "ERR_CANNOT_QUERY" : deque[l]);
} else if (op == 4) {
writer.println(size());
}
}
}
writer.flush();
writer.close();
reader.close();
}
private static int size() {
return r - l;
}
}
查看10道真题和解析