题目来源:

  https://leetcode.com/problems/min-stack/


题意分析:

  实现一个小的栈,包括初始化,push,pop,top,和getMin。


题目思路:

  思路是用两个数组来处理。


代码(python):

 1 class MinStack(object):
 2     def __init__(self):
 3         """
 4         initialize your data structure here.
 5         """
 6         self.stack1 = []
 7         self.stack2 = []
 8
 9
10     def push(self, x):
11         """
12         :type x: int
13         :rtype: nothing
14         """
15         self.stack1.append(x)
16         if len(self.stack2) == 0 or x <= self.stack2[-1]:
17             self.stack2.append(x)
18
19
20     def pop(self):
21         """
22         :rtype: nothing
23         """
24         tmp = self.stack1.pop()
25         if tmp == self.stack2[-1]:
26             self.stack2.pop()
27
28
29     def top(self):
30         """
31         :rtype: int
32         """
33         return self.stack1[-1]
34
35     def getMin(self):
36         """
37         :rtype: int
38         """
39         return self.stack2[-1]
40         

View Code

转载于:https://www.cnblogs.com/chruny/p/5478505.html

[LeetCode]题解(python):155-Min Stack相关推荐

  1. [勇者闯LeetCode] 155. Min Stack

    [勇者闯LeetCode] 155. Min Stacke Description Design a stack that supports push, pop, top, and retrievin ...

  2. leetcode python3 简单题155. Min Stack

    1.编辑器 我使用的是win10+vscode+leetcode+python3 环境配置参见我的博客: 链接 2.第一百五十五题 (1)题目 英文: Design a stack that supp ...

  3. LeetCode - Easy - 155. Min Stack

    Topic Stack Design Description https://leetcode.com/problems/min-stack/ Design a stack that supports ...

  4. LeetCode 155. Min Stack

    题目: Design a stack that supports push, pop, top, and retrieving the minimum element in constant time ...

  5. 栈的基础概念与经典题目(Leetcode题解-Python语言)

    栈是先入后出(后入先出)的数据结构,常用操作就 push 和 pop,Python中用列表实现即可,基本概念可以看Leetbook相关章节. 普通栈 232. 用栈实现队列 class MyQueue ...

  6. 二叉树层序遍历(广度优先搜索)基础概念与经典题目(Leetcode题解-Python语言)

    二叉树的广度优先搜索即从上到下.从左到右地进行搜索,对于层序遍历(Level Order)问题,即依次遍历第一层节点.第二层节点-等,基本可以秒杀. 广度优先搜索是通过队列来实现的,python中优先 ...

  7. 一般动态规划问题合集(Leetcode题解-Python语言)

    118. 杨辉三角 class Solution:def generate(self, numRows: int) -> List[List[int]]:dp = [[0] * i for i ...

  8. 买卖股票类问题动态规划解法(Leetcode题解-Python语言)

    在 Leetcode 中,关于买卖股票的问题共有6道,而这些题目是可以用相同的思维进行求解的,强烈推荐这篇总结,写得非常到位. 股票类问题的动态规划分三步走,1.首先明确方程的含义, T[i][k][ ...

  9. 爬楼梯与路径类题目记忆化递归与动态规划双解法(Leetcode题解-Python语言)

    70. 爬楼梯(剑指 Offer 10- II. 青蛙跳台阶问题) 递归(英语:Recursion),是指在函数的定义中使用函数自身的方法.有意义的递归通常会把问题分解成规模缩小的同类子问题,当子问题 ...

  10. 岛屿类问题的广度优先深度优先双解法(Leetcode题解-Python语言)

    695. 岛屿的最大面积 先上最经典的题目,详细思路看这题的官方题解,简单来说的岛屿问题就是遍历二维数组,一般都是从一块陆地开始,进行深度优先或者广度优先搜索,每次上下左右四个方向选其一然后寻找下一块 ...

最新文章

  1. UI培训分享:UI设计行业常见术语有哪些?
  2. httpruner学习--安装和认识
  3. 作为初学者应该如何来学习FPGA
  4. Intellij IDEA的java环境与安卓sdk配置实例教程
  5. 装箱问题(洛谷-P1049)
  6. boost any 实现万能容器_全面剖析 C++ Boost 智能指针!| CSDN 博文精选
  7. 连接主机Java网络编程(一)- 一个简单的服务端/客户端应用程序
  8. Deeplabv3+ 环境配置-Anaconda3 + Pytorch1.8 + Cuda10.1 + opencv3.2.0
  9. ADO.NET编程(3)在内存中对DataTable进行增/删/改操作
  10. 凸优化第七章统计估计 7.1 参数分布估计
  11. 我的世界服务器怎么弄vip系统,我的世界vip插件怎么用?我的世界vip插件使用方法...
  12. tarjan算法 java_Tarjan算法 割点和桥
  13. TensorRT安装及使用--通用模型
  14. 微信 获取signature签名
  15. 3天搞定的小型B/S内部管理类软件定制开发项目【软件开发实战10步骤详解】
  16. openstack-nova源码分析(十一)rebuild重建
  17. 我要砍价-自动砍价-思路
  18. 从普通温度表到高精度测量
  19. Android异步消息处理机制之looper机制
  20. 数通(DataCom)--路由交换技术学习笔记

热门文章

  1. NLP-Beginner任务三学习笔记:基于注意力机制的文本匹配
  2. K8S之pod生命周期
  3. springboot驾校报名系统 微信小程序
  4. JDBC的驱动包下载汇总
  5. 秒杀99.99%大学生!看看清华的学霸到底有多牛?
  6. Pycharm导入conda虚拟环境时报错error code:1
  7. 拉姆达表达式转对象(太给力啦!)
  8. 父类的对象指向子类对象,父类可以调用子类的方法吗?
  9. ROS学习系列(一):ubuntu16.04下安装 ROS IDE RoboWare Studio 教程
  10. Matlab模拟蒲丰投针实验计算Π值