题解 | 【模板】队列操作

【模板】队列操作

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;
	}


}

全部评论

相关推荐

02-16 01:39
南昌大学 Java
重剑Ds:感觉不太可能 后端都减飞了 根本不缺人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务