Python描述 LeetCode 剑指 Offer 30. 包含min函数的栈

  大家好,我是亓官劼(qí guān jié ),在【亓官劼】公众号、CSDN、GitHub、B站等平台分享一些技术博文,主要包括前端开发、python后端开发、小程序开发、数据结构与算法、docker、Linux常用运维、NLP等相关技术博文,时光荏苒,未来可期,加油~

  如果喜欢博主的文章可以关注博主的个人公众号【亓官劼】(qí guān jié),里面的文章更全更新更快。如果有需要找博主的话可以在公众号后台留言,我会尽快回复消息.


本文原创为【亓官劼】(qí guān jié ),请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 全部文章请关注微信公众号【亓官劼】。

题目

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。

示例:

MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.min();   --> 返回 -3.
minStack.pop();
minStack.top();      --> 返回 0.
minStack.min();   --> 返回 -2.

提示:

  1. 各函数的调用总次数不超过 20000 次

解题思路

额外使用一个栈记录各个位置的最小值,同步push和pop。

class MinStack:def __init__(self):"""initialize your data structure here."""self.stack = []self.min_stack = []def push(self, x: int) -> None:self.stack.append(x)self.min_stack.append(min(x,self.min_stack[-1] if self.min_stack else 2**31))def pop(self) -> None:self.stack.pop()self.min_stack.pop()def top(self) -> int:return self.stack[-1] def min(self) -> int:return self.min_stack[-1]# Your MinStack object will be instantiated and called as such:
# obj = MinStack()
# obj.push(x)
# obj.pop()
# param_3 = obj.top()
# param_4 = obj.min()

Python描述 LeetCode 剑指 Offer 30. 包含min函数的栈相关推荐

  1. 《LeetCode力扣练习》剑指 Offer 30. 包含min函数的栈 Java

    <LeetCode力扣练习>剑指 Offer 30. 包含min函数的栈 Java 一.资源 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调 ...

  2. 【LeetCode】剑指 Offer 30. 包含min函数的栈

    [LeetCode]剑指 Offer 30. 包含min函数的栈 文章目录 [LeetCode]剑指 Offer 30. 包含min函数的栈 一.辅助栈 一.辅助栈 解题思路: 普通栈的 push() ...

  3. 剑指 Offer 30. 包含min函数的栈 (python实现)

    剑指 Offer 30. 包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). 示例 ...

  4. 【简洁写法】剑指 Offer 30. 包含min函数的栈

    立志用最少的代码做最高效的表达 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). 示例: MinSt ...

  5. 剑指offer——30.包含min函数的栈

    题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). 知识点: 这种需要持续输出最小或最大的数的解决办法之一:引入辅助栈 注意: 无 代码实现 ...

  6. 剑指Offer 30.包含 min 函数的栈(Python)

    定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.top.push 及 pop 的时间复杂度都是 O(1). # 例子: MinStack minSta ...

  7. 【算法】剑指 Offer 30. 包含min函数的栈

    文章目录 1.概述 2.分析 3. 链表法 4. 双栈法 1.概述 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/bao-han-minhan ...

  8. 剑指 Offer 30. 包含min函数的栈(python3编写)

    目录 1.题目描述: 2.方法: 思路: 代码: 1.题目描述: 2.方法: 思路: 思路来源:https://leetcode-cn.com/problems/bao-han-minhan-shu- ...

  9. 剑指 Offer 30. 包含min函数的栈

    定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). 示例: MinStack minStack = n ...

最新文章

  1. windows server 更改默认服务端口
  2. [转帖]linux文件描述符文件/etc/security/limits.conf
  3. Lady Layton with Math(杜教筛)
  4. linux用mame玩游戏,Ubuntu下用kxmame运行精彩的街机游戏
  5. php栏目树,php生成无限栏目树
  6. python常用代码总结-python常用代码
  7. 在线阅读各版本android系统源代码
  8. 机器学习极好的入门学习视频推荐
  9. spring cloud入门组件教程
  10. 计算机一直显示配置更新失败怎么办,电脑更新新系统的时候出现配置更新失败问题怎么办...
  11. html css文字标题特效,用CSS做一个流光溢彩的文字特效
  12. h5 换脸 php,DIY海报H5案例|换脸show颜值
  13. 7.2_gd-sgd
  14. xilinx ku115上pciex1 的眼图
  15. 全球首个视觉导航物流机器人
  16. VMware 随win10自动启动与关闭
  17. Python中的单例模式的几种实现方式的及优化
  18. 京东抢购脚本使用方法+代码更新(超详细)
  19. Facebook推出简体中文语言版本
  20. (转)如何根据RGB值来判断这是种什么颜色?

热门文章

  1. 让百度、Google等各大搜索引擎收录你的博客
  2. 事关中国!北约正酝酿一个大调整
  3. Slingshot|单细胞轨迹推断r包
  4. try catch里面try catch嵌套
  5. 里程计运动模型及标定
  6. 预测软件测试的未来趋势
  7. CSS写表格样式的两种基本方式
  8. 用python进行因子分析_Python——因子分析
  9. java removeattribute_removeAttribute getAttribute setAttribute
  10. 从一加到一百算法c语言,从1加到100等于多少?是什么公式?