题目描述

定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
 # -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.stack1=[]
self.stack2=[]
def push(self, node):
# write code here
self.stack1.append(node)
if len(self.stack2)==0 or self.stack2[-1]>node:
self.stack2.append(node)
else:
self.stack2.append(self.stack2[-1])
def pop(self):
if len(self.stack1)>0:
self.stack2.pop()
return self.stack1.pop()
# write code here
def top(self):
# write code here
if len(self.stack1)>0:
return self.stack1[-1]
def min(self):
# write code here
if len(self.stack2)>0:
return self.stack2[-1]

最新文章

  1. Spring Security 从配置入门 学习讲解。刽子手------------securityConfig.xml
  2. (待续)C#语言中的动态数组(ArrayList)模拟常用页面置换算法(FIFO、LRU、Optimal)
  3. Wget命令下载、备份博客
  4. 移动widget开发
  5. Oracle性能优化--DBMS_PROFILER
  6. Visual Studio下Qt调用IDL
  7. Js/Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法
  8. Java读取本地文件进行unicode解码
  9. WordPress制作一个首字母排序的标签页面
  10. FFPLAY的原理(七)
  11. Xcode 10.1 运行老版本工程遇到问题解决记录
  12. 牛客小白月赛13 小A的最短路(lca+RMQ)
  13. hdu 1394(线段树) 最小逆序数
  14. 解剖android中的闹钟app 一
  15. MDX导航结构层次:《Microsoft SQL Server 2008 MDX Step by Step》学习笔记九
  16. 微信小程序入门一: 简易form、本地存储
  17. [转]CNN 中千奇百怪的卷积方式大汇总
  18. 【JavaScript算法】---快速排序法
  19. surface知识点
  20. 如何处理HTML5新标签的兼容性问题

热门文章

  1. 什么是java的线程安全?同步,异步
  2. linux下安转nodejs
  3. 将PostgreSQL数据库的表导入到elasticsearch中
  4. __VA_ARGS__用法
  5. PHP中的data()函数
  6. Struts 2访问Servlet API
  7. 数据结构(三) 树和二叉树,以及Huffman树
  8. java对象的几种创建过程
  9. Yii2 增删查改
  10. 两个实体类 复制 copy 工具类