博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[剑指offer]包含min函数的栈
阅读量:6965 次
发布时间:2019-06-27

本文共 818 字,大约阅读时间需要 2 分钟。

题目描述

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

解题思路

用一个栈stack保存数据,用另外一个栈temp保存依次入栈最小的数

比如,stack中依次入栈
5, 3, 4, 10, 2, 12, 1, 8
则temp依次入栈
5, 3, 3,3, 2, 2, 1, 1

每次入栈的时候,如果入栈的元素比min中的栈顶元素小或等于则入栈,否则用最小元素入栈。

参考代码

import java.util.Stack;public class Solution {    Stack
stack = new Stack<>(); Stack
temp = new Stack<>(); int min = Integer.MAX_VALUE; public void push(int node) { stack.push(node); if(node < min){ temp.push(node); min = node; } else temp.push(min); } public void pop() { stack.pop(); temp.pop(); } public int top() { int t = stack.pop(); stack.push(t); return t; } public int min() { int m = temp.pop(); temp.push(m); return m; }}

转载地址:http://jmbsl.baihongyu.com/

你可能感兴趣的文章
Docker部署文档
查看>>
AngularJS实现产品列表(页面搜索,排序)
查看>>
面向对象的最后一课
查看>>
win7 64位系统连接xp 32位共享打印机办法
查看>>
cPanel之EasyApache (Apache Update)的使用
查看>>
在ESXi5,1,ESXi5.5安装异步驱动程序
查看>>
redis教程(一)之redis简介
查看>>
Direct2D (23) : 复合几何对象之 ID2D1GeometryGroup
查看>>
《Linux系统初讲》学习总结(一)
查看>>
普通(实例)方法和实例方法的定义和调用
查看>>
在 Delphi 下使用 DirectSound (12): 测试失真效果器 IDirectSoundFXDistortion8
查看>>
鼠标相关操作
查看>>
疯狂ios讲义之创建cocos2d项目(3)
查看>>
Java并发包中的几种ExecutorService
查看>>
高项2015年下半年培训随堂作业(10月日)
查看>>
今天到旅行
查看>>
Spark Streaming使用Kafka保证数据零丢失
查看>>
Linux学习记录--数据流重定向
查看>>
YII 联合查询
查看>>
PHP扩展模块Memcache Redis Mssql部署
查看>>