题目要求
P1165题目链接
标准的栈结构,但使用数组来模拟会更简单。 因为对于这个问题,其实数组不需要存储真实数值,只考虑当前最大值就行了。 毕竟,出栈也不需要返回当前真实值。 另外,我们只使用懒惰删除,不真实去除。 还有就是模仿C语言的方式,开大数组,避免扩增数组。
这正是具体问题具体分析为解决问题带来的方便之处。
输入数据很大,如果不用BufferedReader就会T掉三个点。
AC代码(Java语言描述)import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
int[] f = new int[200001];
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(reader.readLine()), tempNum, pointer = 0;
String tempStr;
for (int i = 0; i 0) {
--pointer;
}
break;
default:
System.out.println(f[pointer]);
break;
}
}
reader.close();
}
}