刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
解答思路:
设计包含min函数的栈需要同时维护两个栈,一个用于正常的push和pop操作,另一个用于存储当前栈中的最小值。当元素入栈时,将其压入主栈,并同时与次栈的栈顶元素进行比较,如果小于或等于次栈顶元素,则将其压入次栈。这样,次栈的栈顶元素始终是当前栈中的最小值。当元素出栈时,从主栈中弹出元素即可。查询最小值时,只需返回次栈的栈顶元素。
最优回答:
设计包含min函数的栈可以通过使用两个栈实现。主栈用于正常的push和pop操作,次栈用于存储当前栈中的最小值。在push操作时,将元素压入主栈,并比较该元素与次栈顶元素的大小,如果较小则也将其压入次栈。在pop操作时,仅从主栈中弹出元素。查询最小值时,直接返回次栈的栈顶元素即可。
本文链接:请设计一个栈,该栈能够实现包含min函数的功能,即能够返回当前栈中的最小值。
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!
