包含min函数的栈
来源:互联网 发布:mac 改键位 编辑:程序博客网 时间:2024/06/05 21:15
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
分析
定义两个栈stk1和stk2,stk1用于存放压入栈的数据,stk2用于存放当前的最小值,在压入栈的时候进行比较,如果当前压入值小于等于stk2的栈顶元素则将该值同时压入stk1和stk2,否则压入stk1;在弹出元素的时候,如果stk1的栈顶元素和stk2的栈顶元素相同则同时弹出两个栈的栈顶元素,否则弹出stk1的栈顶元素,最终,栈stk1中的的最小元素就是stk2的栈顶元素。
C++实现如下:
stack<int> stk1,stk2;void push(int value) { stk1.push(value); if(stk2.empty()){ stk2.push(value); }else{ if(stk2.top()>=value) stk2.push(value); } }void pop() { if(stk1.top()==stk2.top()) stk2.pop(); stk1.pop(); } int top() { return stk1.top(); }int min() { return stk2.top(); }
阅读全文
0 0
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min 函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 代码段
- 8.4-全栈Java笔记:时间处理相关类(下)
- nc实践
- Rxjava2+Retrofit2上传图片加参数失败问题解决
- Elasticsearch 内置的两个客户端的区别
- 包含min函数的栈
- python 正则抓取百度贴吧帖子数和关注度
- 6月26日云栖精选夜读:成为一名Java高级工程师你需要学什么
- CAP原理和BASE思想
- Apple portal弹窗报文分析
- 将一个字符串转换成一个整数
- PO退货报错-APP-PO-14142 rcv_receipts_eh.event-000: ORA-000
- Vim基本操作
- 经典造轮子-String类的实现