leecode第一百五十五题(最小栈)
生活随笔
收集整理的這篇文章主要介紹了
leecode第一百五十五题(最小栈)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
class MinStack { public:stack<int> cur_stack;stack<int> cur_min;//用來存儲最小值的棧int min_num;MinStack() {//初始化this->min_num = INT_MAX;}void push(int x) {//壓入棧,同時記錄最小值if (x < this->min_num)this->min_num = x;cur_min.push(this->min_num);cur_stack.push(x);}void pop() {//彈出棧,刪除的同時注意小心最小值的變化 cur_min.pop();if (cur_min.empty())this->min_num = INT_MAX;elsethis->min_num = cur_min.top();cur_stack.pop();}int top() {//查看棧頂return cur_stack.top();}int getMin() {//當前最小值,等同于查看存儲最小值的棧頂return cur_min.top();} };?分析:
嘿嘿,偷懶了,直接用了別人的棧,但是作用不一樣啊,我這個能查看最小值。不然那就用兩個隊列實現棧了。
編程太渣了,第一時間沒想起來,最小值隨著棧的彈出也會變化。第二時間沒想起來彈出之后最小值的閾值也會變。
轉載于:https://www.cnblogs.com/CJT-blog/p/10717843.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的leecode第一百五十五题(最小栈)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目需求分析与建议-NABCD模型
- 下一篇: js 继承的几种方式