A data structure with push(int x), pop(), min() and max() in O(1)
Your MyDS class has the right idea, in general.

Special values like -1, Integer.MIN_VALUE, and Integer.MAX_VALUE make me suspicious.  All of those special values denote what I consider to be error cases.  Using special cases that might also be valid data is a dangerous habit that can lead to bugs.  Instead of those special numbers, it would be better to throw exceptions — probably NoSuchElementException.  You should also offer a size() and/or an isEmpty() method so that users of your data structure can proactively avoid encountering the exception.

The three instance variables should be private.  The default access is rarely appropriate.  java.util.Stack is to be avoided, due to unfortunate historical design decisions (inappropriately extending java.util.Vector, and being thread-safe by default).  The documentation recommends ArrayDeque instead.

Of the four operations in MyDS, I think pop() could use the most work.    It's weird that pop() doesn't return a value.  The -1 is entirely avoidable: if the main stack is empty, the min and max stacks should surely be empty too.

public int pop() {
    if (s.isEmpty()) {
        throw new NoSuchElementException();
    }
    int popped = s.pop();
    if (popped == min()) {
        minStack.pop();
    }
    if (popped == max()) {
        maxStack.pop();
    }
    return popped;
}