剑指offer-包含min函数的栈
来源:互联网 发布:装修网络平台有哪些 编辑:程序博客网 时间:2024/06/05 02:07
一、问题描述
二、思路
两个栈,一个当前栈data,一个辅助栈m_min,辅助栈用来存储当前的最小值,如果出栈,辅助栈也出栈,栈顶元素始终是当前的最小值。
在入栈时,如果辅助栈为空或者当前值小于辅助栈栈顶元素,则将当前值加入辅助栈;否则将辅助栈的栈顶元素加入辅助栈,表明此次有大于min栈顶数字入栈。以此保证在其中一个最小值出栈时,辅助栈也出栈时,辅助栈还能有一个最小值。
三、代码
class Solution { public: stack<int> data; stack<int> m_min; void push(int value) { data.push(value); if(m_min.size() == 0 || value < m_min.top()) m_min.push(value); else m_min.push(m_min.top()); } void pop() { data.pop(); m_min.pop(); } int top() { return data.top(); } int min() { return m_min.top(); }};
0 0
- 【剑指offer】包含min函数的栈
- 剑指offer--包含min函数的栈
- 剑指Offer-->包含min函数的栈
- 《剑指offer》包含min函数的栈
- 剑指offer - 包含min函数的栈
- 剑指offer-包含min函数的栈
- 剑指offer:包含min函数的栈
- 包含min函数的栈|剑指offer
- 剑指offer-包含min函数的栈
- 剑指offer 包含min函数的栈
- 剑指offer:包含min函数的栈
- 剑指offer 包含min函数的栈
- [剑指offer]包含min函数的栈
- 《剑指offer》-包含min函数的栈
- 剑指offer----包含min函数的栈
- 【剑指offer】包含min函数的栈
- 剑指offer|包含min函数的栈
- 《剑指offer》包含min函数的栈
- 做一个有自我要求的读者
- LeetCode 46. Permutations 解题报告
- Android事件分发<二>
- 学习C语言的一点感受
- win32主程序入口设置
- 剑指offer-包含min函数的栈
- python实现多进程_multiprocessing
- 高数个人资料整理
- Eclipse使用Maven创建Web时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap
- Android 实现Viewpager指示器
- Error:(1, 0) Cause: com/android/build/gradle/LibraryPlugin : Unsupported major.minor version 52.0
- 第五章 函数的秘密
- Unity3d中FingerGesture与NGUI的事件响应问题
- flume学习(一)