时间复杂度O(n),空间复杂度 O(1)
//C static int s[300],n=-1;//必要空间 void push(int value ) { s[++n]=value; } void pop() { n--; } int top() { return s[n]; } int min() { int m=10001; for(int i=0;i<=n;i++){ if(s[i]<m){ m=s[i]; } } return m; }
时间复杂度O(1),空间复杂度 O(n)
//C++ class Solution { public: vector<int> s,s1; void push(int value) { s.push_back(value); if(!s1.size() || s1[s1.size()-1]>=value) s1.push_back(value); } void pop() { if(s[s.size()-1]<=s1[s1.size()-1]) s1.pop_back(); s.pop_back(); } int top() { return s[s.size()-1]; } int min() { return s1[s1.size()-1]; } };