Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
Example 1:
Input
["MinStack","push","push","push","getMin","pop","top","getMin"]
[[],[-2],[0],[-3],[],[],[],[]]
Output
[null,null,null,null,-3,null,0,-2]
Explanation
MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin(); // return -3
minStack.pop();
minStack.top(); // return 0
minStack.getMin(); // return -2
Constraints:
pop
, top
and getMin
operations will always be called on non-empty stacks.class MinStack:
def __init__(self):
"""
initialize your data structure here.
"""
self.__stack=[]
def push(self, x: int) -> None:
if self.__stack:
self.__stack.append((x,min(x,self.__stack[-1][1]))) # (x,minimum)
else:
self.__stack.append((x,x))
def pop(self) -> None:
if self.__stack:
self.__stack.pop()
def top(self) -> int:
if self.__stack:
return self.__stack[-1][0]
def getMin(self) -> int:
return self.__stack[-1][1]
# Your MinStack object will be instantiated and called as such:
# obj = MinStack()
# obj.push(x)
# obj.pop()
# param_3 = obj.top()
# param_4 = obj.getMin()
Many thanks for that publish as well as excellent ideas.. actually We additionally believe that effort is actually the most crucial ingredient of obtaining achievement. 카지노사이트 도메인
I’ve been surfing online more than 5 hours today, yet I never found any interesting article like yours without a doubt. It’s pretty worth enough for me. Thanks... olxtoto
Di Slot Demo, Anda bisa mencoba berbagai permainan slot seru dengan kesempatan besar memenangkan jackpot. Platform ini menawarkan pengalaman tanpa risiko dan menjamin kenyamanan bermain dengan antarmuka yang mudah digunakan. demo slot
I can’t believe focusing long enough to research; much less write this kind of article. You’ve outdone yourself with this material without a doubt. It is one of the greatest contents. 76 unblocked games
Regards just for featuring brand-new upgrades in connection with priority, Document wait for look at a great deal more. customize womens panties
My spouse and i shocked while using investigation anyone created to choose this certain release outstanding. Amazing task! biurko młodzieżowe
We have not too long ago started out any website, the knowledge an individual offer on this web site provides aided myself tremendously. Thank you regarding your entire moment & perform. alexistogel
Please let me know if you’re looking for a article writer for your site. You have some really great posts and I feel I would be a good asset. If you ever want to take some of the load off, I’d absolutely love to write some material for your blog in exchange for a link back to mine. Please send me an email if interested. Thank you! fototapeta dla chłopca
I admire what you have done here. I like the part where you say you are doing this to give back but I would assume by all the comments that this is working for you as well.
I admire what you have done here. I like the part where you say you are doing this to give back but I would assume by all the comments that this is working for you as well. hagia sophia
Cultivate the nice give good results, I just read through a small number of items on that blog not to mention In my opinion that this web site blog page might be proper significant as well as gained circles from awesome advice. Pinny