包含min函数的栈
来源:互联网 发布:java和c语言的区别知乎 编辑:程序博客网 时间:2024/06/09 15:59
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
题目解析:
我们可能第一印象,想要在栈里边加一个辅助位,用于存储最小值,这样子,当我们入栈的时候更新最小值,但是当我们出栈的时候怎么办呢?所以我们可以添加一个辅助栈,数据栈用来存储压入的数据,而辅助栈则用来存储当前的最小值,这样两个栈同时进行压入和弹出操作,就可以十分方便的获取栈中数据的最小值。
代码如下:
Stack<Integer> data = new Stack<>(); Stack<Integer> min = new Stack<>(); Integer temp = null; public void push(int node) { if (temp != null) { if (node <= temp) { temp = node; min.push(node); } data.push(node); } else { temp = node; data.push(node); min.push(node); } } public void pop() { int num = data.pop(); int num2 = min.pop(); if (num != num2) { min.push(num2); } } public int top() { int num = data.pop(); data.push(num); return num; } public int min() { int num = min.pop(); min.push(num); return num; }
0 0
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min 函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- Java线程(一)
- 全选才可以提交
- 谈前端技术JavaScript书写规范的经验,浅谈封装(二)
- 微信小程序里为什么我设置了数据却不显示
- 页面自适应
- 包含min函数的栈
- 给Eclipse的工程导航视图添加自定义右键菜单
- ffmpeg解码优化参数
- Android 6.0系统发短信(备忘)
- cocos-Lua添加骨骼动画
- 《你不知道的JavaScript(上卷)》读书笔记
- android 粘贴复制的管理类clipboardManager
- HTML滚动条
- Linux 下清空Oracle监听日志