本文共 855 字,大约阅读时间需要 2 分钟。
维护两个栈:
#includeusing namespace std;class Solution {public: stack s; stack m; void push(int value) { s.push(value); if(!m.empty()){ if(value < m.top()){ m.push(value); }else{ m.push(m.top()); } }else{ m.push(value); } } void pop(){ if(!s.empty()) s.pop(); if(!m.empty()) m.pop(); } int top() { return s.top(); } int min() { return m.top(); }};int main(){ Solution S; S.push(3); printf("%d\n",S.min()); S.push(4); printf("%d\n",S.min()); S.push(2); printf("%d\n",S.min()); S.push(1); printf("%d\n",S.min()); S.pop(); printf("%d\n",S.min()); S.pop(); printf("%d\n",S.min()); S.push(0); printf("%d\n",S.min()); return 0;}
转载地址:http://xywji.baihongyu.com/