Beispiel #1
0
class StackWithMax:
    def __init__(self):
        self.og = Stack()
        self.max = Stack()

    def push(self, item):
        if self.og.size() == 0:
            self.og.push(item)
            self.max.push(item)

        else:
            if item >= self.max.peek():
                self.max.push(item)

            self.og.push(item)

    def pop(self):
        if self.og.size == 0:
            print("Empty stack error")

        else:
            result = self.og.pop()
            if result == self.max.peek():
                self.max.pop()

            return result

    def show(self):
        print(self.og.show())

    def getMax(self):
        print(str(self.max.peek()))