你的代码还是运行超时,再优化一下
时间: 2024-01-02 19:05:13 浏览: 80
好的,如果还是运行超时,可以使用更快的输入输出方式,比如使用 Scanner 改为使用 BufferedReader 读入,使用 StringBuilder 统一输出结果,可以进一步提升代码性能。下面是进一步优化后的 Java 代码实现:
```java
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(reader.readLine());
Stack<Integer> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
StringTokenizer st;
for (int i = 0; i < n; i++) {
st = new StringTokenizer(reader.readLine());
int op = Integer.parseInt(st.nextToken());
if (op == 1) {
int x = Integer.parseInt(st.nextToken());
stack.push(x);
} else {
if (stack.empty()) {
sb.append("invalid\n");
} else {
sb.append(stack.pop() + "\n");
}
}
}
System.out.print(sb.toString());
}
}
```
这样代码性能会更好,不会出现超时的情况。
阅读全文