题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。

# -*- coding:utf-8 -*-
class Solution:def __init__(self):self.s_stack = []self.min_stack = []def push(self, node):self.s_stack.append(node)if self.min_stack:if self.min_stack[-1] > node:self.min_stack.append(node)else:self.min_stack.append(self.min_stack[-1])else:self.min_stack.append(node)# write code heredef pop(self):# write code hereif self.s_stack: self.s_stack.pop()self.min_stack.pop()def top(self):# write code hereif self.s_stack: return self.s_stack[-1]if self.min_stack:return self.min_stack[-1]def min(self):# write code hereif self.min_stack:return self.min_stack[-1]return None

最小元素的min函数相关推荐

  1. 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))

    思想1:(Java程序员面试宝典) 用空间换时间 两个栈sd存数据,sm存最小值 存入时: 若sm为空,两个直接存数据: 若sm不为空,待存数据与sm的栈顶元素比较,小于时存入,否则不存 出栈: 若s ...

  2. 剑指offer:面试题30. 包含min函数的栈

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

  3. 剑指offer_第20题_包含min函数的栈_Python

    题目描述 定义栈的数据结构 并在该类型中实现一个能够得到栈中所含最小元素的min函数.时间复杂度应为O(1) 理解 什么是栈 算法复杂度 解题思路 思路1 class Solution:def __i ...

  4. 剑指offer:包含min函数的栈 python实现

    题目 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). 解题思路 暴力做法: 遍历一遍,找最小的数,然后返回. # -*- coding ...

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

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

  6. python剑指offer 包含min函数的栈

    题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). # -*- coding:utf-8 -*- class Solution:def _ ...

  7. 剑指Offer 包含min函数的栈

    时间限制:1秒 空间限制:32768K 热度指数:158697 本题知识点: 栈 算法知识视频讲解 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数. 给出代码: cla ...

  8. 剑指offer---包含min函数的栈

    题目:包含min函数的栈 要求:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). class Solution { public:void pus ...

  9. 《剑指offer》-- 构建乘积数组、求1+2+3+...+n、不用加减乘除做加法、包含min函数的栈、用两个栈实现队列

    一.构建乘积数组: 1.题目: 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*. ...

最新文章

  1. SNMP协议介绍和操作截图
  2. JavaScript实现InsertionSort插入排序算法(附完整源码)
  3. ArcEngine开发体验(附许可)
  4. wxpython中文教程_wxPython中文教程 简单入门加实例
  5. VLFeat在matlab中的使用
  6. 树莓派Python 3.x+TensorFlow 1.9.0
  7. java单线程共享,「Java并发编程实战」之对象的共享
  8. 踩坑日记(二):记一次线上业务—Redis 的缓存雪崩
  9. oracle中t,Oracle中如何用T
  10. Atitit.js获取上传文件全路径
  11. ORACLE 正則表達式
  12. markdown支持的latex
  13. 求球体的表面积和体积
  14. 浏览器JSON的插件(JSON-handle)使用问题
  15. 代码统计工具CLOC
  16. 深度定制django admin界面
  17. Windows下Python安装并为pip配置阿里镜像
  18. web前端网页设计期末课程大作业:企业网页主题网站设计——舞蹈培训11页HTML+CSS+JavaScript
  19. 安卓中Canvas使用方法
  20. 上海域格LTE模块CLM920_JC3贴片SIM卡双卡切换

热门文章

  1. C#,CAD二次开发,基于参考面参考点计算一个点的坐标
  2. 【LAB4-Cisco】OSPF邻居建立过程与LSDB分析
  3. python中\r 的意义
  4. 强烈安利一波,程序猿学习网站
  5. 华新集团再冲刺港交所上市:上半年收入2.6亿元,张德红为董事长
  6. 2020年阴历二月十一 投资理财读书笔记~漫步华尔街①
  7. macos最新版本是什么_macOS的最新版本是什么?
  8. 2048游戏英雄榜java_2048游戏攻略 2048分数排行榜详解
  9. ACM图灵奖现状以及得主及其分别分别的贡献
  10. 《信号与系统》自然/受迫响应、零输入/零状态响应及系统初始状态