剑指offer——30.包含min函数的栈
题目:
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
知识点:
- 这种需要持续输出最小或最大的数的解决办法之一:引入辅助栈
注意:
无
代码实现:
借助辅助栈(栈顶元素即为最小值)来保存 每一步操作之后正常栈中最小的数 。
/*包含min函数的栈*/
stack<int> m_data;
stack<int> m_min;//压入的时候,数据栈正常压入,最小栈需要比较栈顶元素(即最小元素)与压入元素的大小
void push(int value) {m_data.push(value);//min栈为空,直接压入if (m_min.empty()){m_min.push(value);}//不空,判断value与min栈顶大小else {if (m_min.top() > value) m_min.push(value);elsem_min.push(m_min.top());}
}
void pop() {m_data.pop();m_min.pop();
}
int top() {return m_data.top();
}
int min() {int res = m_min.top();return res;
}
剑指offer——30.包含min函数的栈相关推荐
- 《LeetCode力扣练习》剑指 Offer 30. 包含min函数的栈 Java
<LeetCode力扣练习>剑指 Offer 30. 包含min函数的栈 Java 一.资源 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调 ...
- 【LeetCode】剑指 Offer 30. 包含min函数的栈
[LeetCode]剑指 Offer 30. 包含min函数的栈 文章目录 [LeetCode]剑指 Offer 30. 包含min函数的栈 一.辅助栈 一.辅助栈 解题思路: 普通栈的 push() ...
- 剑指 Offer 30. 包含min函数的栈 (python实现)
剑指 Offer 30. 包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). 示例 ...
- Python描述 LeetCode 剑指 Offer 30. 包含min函数的栈
Python描述 LeetCode 剑指 Offer 30. 包含min函数的栈 大家好,我是亓官劼(qí guān jié ),在[亓官劼]公众号.CSDN.GitHub.B站等平台分享一些技术 ...
- 【简洁写法】剑指 Offer 30. 包含min函数的栈
立志用最少的代码做最高效的表达 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). 示例: MinSt ...
- 剑指Offer 30.包含 min 函数的栈(Python)
定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.top.push 及 pop 的时间复杂度都是 O(1). # 例子: MinStack minSta ...
- 【算法】剑指 Offer 30. 包含min函数的栈
文章目录 1.概述 2.分析 3. 链表法 4. 双栈法 1.概述 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/bao-han-minhan ...
- 剑指 Offer 30. 包含min函数的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). 示例: MinStack minStack = n ...
- 剑指 Offer 30. 包含min函数的栈(python3编写)
目录 1.题目描述: 2.方法: 思路: 代码: 1.题目描述: 2.方法: 思路: 思路来源:https://leetcode-cn.com/problems/bao-han-minhan-shu- ...
最新文章
- 是时候了解一下Serverless了
- pc端汽车obd软件下载?_常用的ERP软件电脑端下载
- 网络推广产品中网站的标题如何设置更利于SEO?
- 3.9 降低DFT泄露的一种办法---加窗
- Linux(Ubuntu)下嵌入式gdb调试环境
- linux网络唤醒,如何在Ubuntu Server 18.04中启用网络唤醒(WOL)
- 项目管理工具project软件学习(四) - 日历保存为模板、日历重命名、删除
- 基于主从博弈的电热综合能源系统动态定价与能量管理 主要做的是电热综合能源系统的动态定价问题,采用是主从博弈方法
- TarBase:有实验数据支持的miRNA靶基因数据库
- 射频电路设计中的热量分析
- Qt基于FFmpeg解码本地视频后再编码
- Word自动给图片编号
- Docker从基础到企业生产应用学习笔记大总结
- 数据通信基础之双绞线
- 2018携程校招笔试第二道编程题
- c语言打鱼晒网问题报告书,2021年C语言渔夫打鱼晒网问题.pdf
- 如何右键菜单添加命令提示符_在右键菜单顶部添加过滤器命令
- VIVO手机测试指令代码大全
- 常用的前端在线引用JS
- 关于x86、x86-64、x64、i386、i486、i586和i686等名词的解释
热门文章
- IO之流程与buffer 图
- BZOJ-1002 轮状病毒 高精度加减+Kirchhoff矩阵数定理+递推
- NSInvocation的一种用法
- 诺基亚:Symbian 3操作系统拥有多点触控功能
- 报错:content type application/x-www-form-urlencoded;
- SuseLinux详解(2)——网络设置静态IP 网关 DNS的方法
- [转]【人是怎么废掉的?】
- c语言字符数组的应用编程,C语言基础(一)
- )AIR程序打包/绿化,脱离air runtimes(AIR运行环境)的方法
- python画散点图带直线和图例_带图例的Matplotlib散点图