博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Min Stack
阅读量:6253 次
发布时间:2019-06-22

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

Implement a stack with min() function, which will return the smallest number in the stack.

It should support push, pop and min operation all in O(1) cost.

 Notice

min operation will never be called if there is no number in the stack.

来源: 

分析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public 
class 
MinStack {
    
private 
Stack<Integer> stack = 
new 
Stack<Integer>();
    
private 
Stack<Integer> stack_min = 
new 
Stack<Integer>();
     
    
public 
MinStack() {
        
// do initialize if necessary
    
}
     
    
public 
void 
push(
int 
number) {
        
// write your code here
        
stack.push(number);
        
if
(!stack_min.empty() && stack_min.peek() < number){
            
stack_min.push(stack_min.peek());
        
}
        
else
{
            
stack_min.push(number);
        
}
    
}
 
    
public 
int 
pop() {
        
// write your code here
        
int 
top = -
1
;
        
if
(!stack.empty()){
            
top = stack.peek();
            
stack.pop();
            
stack_min.pop();
        
}
        
return 
top;
    
}
 
    
public 
int 
min() {
        
// write your code here
        
return 
stack_min.empty() ? -
1 
: stack_min.peek();
    
}
}

转载于:https://www.cnblogs.com/zhxshseu/p/de52b1cfc3c013858c635bafd7423fd1.html

你可能感兴趣的文章
SQL Server事务日志在修改数据时的角色
查看>>
解决sql server 2008 r2无法打开登录所请求的数据库“xxx”,用户sa登录失败
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
java 集合类Array、List、Map区别和联系
查看>>
Linux系统安全及应用
查看>>
out of memory
查看>>
后台(crontab,at&nohup)及计划任务
查看>>
用python的matplotlib画标准正态曲线
查看>>
ftp 不支持绝对路径上传
查看>>
IBMwas服务器部署应用出错
查看>>
学习的思路
查看>>
网络中的OSPF协议
查看>>
确保移动设备的安全:在保护数据的同时提高工作效率
查看>>
PHP get_class() get_class_methods()
查看>>
Sql语句返回自增Id
查看>>
windows用户账号密码迁移与备份恢复
查看>>
ofbiz,普通java程序,osgi中类加载
查看>>
ZooKeeper
查看>>
数据结构与算法
查看>>