时间复杂度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];
}
};

京公网安备 11010502036488号