面试题 03.02. 栈的最小值/面试题30. 包含min函数的栈/155. 最小栈
生活随笔
收集整理的這篇文章主要介紹了
面试题 03.02. 栈的最小值/面试题30. 包含min函数的栈/155. 最小栈
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2020-05-10
1.題目描述
棧的最小值2.題解
需要犧牲空間換時間,可以用vector來存儲至當前元素的最小值,在push或者pop元素的時候需要更新。3.代碼
class MinStack { public:/** initialize your data structure here. */MinStack() {minnow=0x7fffffff;}void push(int x) {mystack.push(x);if (x<minnow) minnow=x;myvector.push_back(minnow);}void pop() {mystack.pop();myvector.pop_back();if (!myvector.empty()) minnow=myvector[myvector.size()-1]; // 更新最小值else{minnow=0x7fffffff;}}int top() {return mystack.top();}int getMin() {return minnow;}stack<int> mystack;vector<int> myvector;int minnow; };/*** Your MinStack object will be instantiated and called as such:* MinStack* obj = new MinStack();* obj->push(x);* obj->pop();* int param_3 = obj->top();* int param_4 = obj->getMin();*/總結
以上是生活随笔為你收集整理的面试题 03.02. 栈的最小值/面试题30. 包含min函数的栈/155. 最小栈的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vsftp配置日志及其启用本地时间
- 下一篇: sqlserver ssms ctrl+