包含min函数的栈
来源:互联网 发布:精通nginx 第二版 pdf 编辑:程序博客网 时间:2024/06/03 21:25
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
编程思路
准备两个栈,一个是数据栈,一个是辅助栈,首先往数据栈中压入数字,然后每次把压入数据栈的数字的最小值压入辅助栈中,那么辅助栈的栈顶就一直都是最小元素。当最小元素从数据栈内被弹出来之后,同时弹出辅助栈的栈顶元素,此时,辅助栈的新栈顶元素就是下一个最小值。如下表是栈内压入3,4,2,1,之后两次弹出栈顶数字再压入0时,数据栈、辅助栈和最小值的状态:
程序代码(Java语言)
import java.util.Stack;public class Solution {Stack<Integer> m_data = new Stack<Integer>();Stack<Integer> m_min = new Stack<Integer>(); public void push(int node) { m_data.push(node); if(m_min.size() == 0 || node < m_min.peek()) m_min.push(node); else m_min.push(m_min.peek()); } public void pop() { m_data.pop(); m_min.pop(); } public int top() { return m_data.peek(); } public int min() { return m_min.peek(); }}
阅读全文
0 0
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min 函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 无卡支付的几种模式
- 图像中像素的一些空间操作
- 安卓平台使用pocketSphinx离线语音识别
- 05. Servlet 页面重定向
- 电脑连接HDMI显示器后没声音
- 包含min函数的栈
- Win7下TensorBoard的使用
- centos7源代码编译安装heartbeat
- G
- 成为Java顶尖程序员 ,看这11本书就够了
- mysql-删除重复数据
- 1008 Elevator (20)
- 区块链技术与应用回顾
- 解决没有绑定view而弹出popupwindow