Python || 99.95% Faster || Only One Stack
\nclass MinStack:\n\n    def __init__(self):\n        self.st=[] #stack\n        self.min=None #min element\n\n    def push(self, val: int) -> None:\n        if
```\nclass MinStack:\n\n    def __init__(self):\n        self.st=[] #stack\n        self.min=None #min element\n\n    def push(self, val: int) -> None:\n        if len(self.st)==0:\n            self.st.append(val)\n            self.min=val\n        else:\n            if val>=self.min:\n                self.st.append(val)\n            else:\n                self.st.append(2*val-self.min)\n                self.min=val\n                \n    def pop(self) -> None:\n        x=self.st.pop() \n        if x<self.min:\n            self.min=2*self.min-x\n    \n    def top(self) -> int:\n        x=self.st[-1]\n        if x>=self.min:\n            return x\n        return self.min\n\n    def getMin(self) -> int:\n        return self.min\n```\n**An upvote will be encouraging**
['Stack', 'Python', 'Python3']