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