最小元素的min函数
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的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函数相关推荐
- 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))
思想1:(Java程序员面试宝典) 用空间换时间 两个栈sd存数据,sm存最小值 存入时: 若sm为空,两个直接存数据: 若sm不为空,待存数据与sm的栈顶元素比较,小于时存入,否则不存 出栈: 若s ...
- 剑指offer:面试题30. 包含min函数的栈
题目:包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). MinStack min ...
- 剑指offer_第20题_包含min函数的栈_Python
题目描述 定义栈的数据结构 并在该类型中实现一个能够得到栈中所含最小元素的min函数.时间复杂度应为O(1) 理解 什么是栈 算法复杂度 解题思路 思路1 class Solution:def __i ...
- 剑指offer:包含min函数的栈 python实现
题目 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). 解题思路 暴力做法: 遍历一遍,找最小的数,然后返回. # -*- coding ...
- 《LeetCode力扣练习》剑指 Offer 30. 包含min函数的栈 Java
<LeetCode力扣练习>剑指 Offer 30. 包含min函数的栈 Java 一.资源 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调 ...
- python剑指offer 包含min函数的栈
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). # -*- coding:utf-8 -*- class Solution:def _ ...
- 剑指Offer 包含min函数的栈
时间限制:1秒 空间限制:32768K 热度指数:158697 本题知识点: 栈 算法知识视频讲解 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数. 给出代码: cla ...
- 剑指offer---包含min函数的栈
题目:包含min函数的栈 要求:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). class Solution { public:void pus ...
- 《剑指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]*. ...
最新文章
- SNMP协议介绍和操作截图
- JavaScript实现InsertionSort插入排序算法(附完整源码)
- ArcEngine开发体验(附许可)
- wxpython中文教程_wxPython中文教程 简单入门加实例
- VLFeat在matlab中的使用
- 树莓派Python 3.x+TensorFlow 1.9.0
- java单线程共享,「Java并发编程实战」之对象的共享
- 踩坑日记(二):记一次线上业务—Redis 的缓存雪崩
- oracle中t,Oracle中如何用T
- Atitit.js获取上传文件全路径
- ORACLE 正則表達式
- markdown支持的latex
- 求球体的表面积和体积
- 浏览器JSON的插件(JSON-handle)使用问题
- 代码统计工具CLOC
- 深度定制django admin界面
- Windows下Python安装并为pip配置阿里镜像
- web前端网页设计期末课程大作业:企业网页主题网站设计——舞蹈培训11页HTML+CSS+JavaScript
- 安卓中Canvas使用方法
- 上海域格LTE模块CLM920_JC3贴片SIM卡双卡切换
热门文章
- C#,CAD二次开发,基于参考面参考点计算一个点的坐标
- 【LAB4-Cisco】OSPF邻居建立过程与LSDB分析
- python中\r 的意义
- 强烈安利一波,程序猿学习网站
- 华新集团再冲刺港交所上市:上半年收入2.6亿元,张德红为董事长
- 2020年阴历二月十一 投资理财读书笔记~漫步华尔街①
- macos最新版本是什么_macOS的最新版本是什么?
- 2048游戏英雄榜java_2048游戏攻略 2048分数排行榜详解
- ACM图灵奖现状以及得主及其分别分别的贡献
- 《信号与系统》自然/受迫响应、零输入/零状态响应及系统初始状态