一个栈实现
设计getMin功能的栈
http://www.nowcoder.com/questionTerminal/c623426af02d4c189f92f2a99647bd34
找一篇一个栈实现的题解还真不容易
class Solution { public: /** * return a array which include all ans for op3 * @param op int整型vector<vector<>> operator * @return int整型vector */ vector<int> getMinStack(vector<vector<int> >& op) { // write code here stack<int>s; int Mi=0; //为空 插入arr //>=之前的最小值 插入Min_last + arr vector<int>ans; for(auto it:op) { if(it[0]==1) { if(s.empty()) { s.push(it[1]); Mi=it[1]; } else { s.push(it[1]-Mi); Mi=min(Mi,it[1]); } } else if(it[0]==2) { if(s.size()==1) ; else { if(s.top()>=0) { ; } else { Mi-=s.top(); } } s.pop(); } else { ans.push_back(Mi); } } return ans; } };