【题目】
【分析】 一般的栈就具有push()、pop()、top()的功能。getMin()的功能如何在常数时间内实现呢? 如果查找的话,至少是线性时间。
方法就是使用两个栈。第一个栈用来存数据。第二个栈用来存到目前为止的最小值。这样只要查看s2.peek()即可得到当前的最小值。
【代码】
【结果】
|
【题目】
【分析】 一般的栈就具有push()、pop()、top()的功能。getMin()的功能如何在常数时间内实现呢? 如果查找的话,至少是线性时间。
方法就是使用两个栈。第一个栈用来存数据。第二个栈用来存到目前为止的最小值。这样只要查看s2.peek()即可得到当前的最小值。
【代码】
【结果】
|