You are viewing a single comment's thread. Return to all comments →
Solution for python 3
class Stack(): def init(self): self.items=[] def size(self): return len(self.items) def isEmpty(self): return self.items==[] def pop(self): return self.items.pop() def push(self,item): self.items.append(item) def peek(self): return self.items[len(self.items)-1]
N=int(input()) s1=Stack() curMax=Stack() for i in range(N): query=list(map(int,input().split())) if(query[0]==1): cur=query[1] if(curMax.isEmpty() !=True) : if(curMax.peek()<=cur): curMax.push(cur) else: curMax.push(cur) s1.push(cur) elif(query[0]==2): if((s1.isEmpty() and s1.isEmpty()) != True): if(s1.peek()==curMax.peek()): curMax.pop() s1.pop() elif(query[0]==3): print(curMax.peek())
Seems like cookies are disabled on this browser, please enable them to open this website
Maximum Element
You are viewing a single comment's thread. Return to all comments →
Solution for python 3
class Stack(): def init(self): self.items=[] def size(self): return len(self.items) def isEmpty(self): return self.items==[] def pop(self): return self.items.pop() def push(self,item): self.items.append(item) def peek(self): return self.items[len(self.items)-1]
N=int(input()) s1=Stack() curMax=Stack() for i in range(N): query=list(map(int,input().split())) if(query[0]==1): cur=query[1] if(curMax.isEmpty() !=True) : if(curMax.peek()<=cur): curMax.push(cur) else: curMax.push(cur) s1.push(cur) elif(query[0]==2): if((s1.isEmpty() and s1.isEmpty()) != True): if(s1.peek()==curMax.peek()): curMax.pop() s1.pop() elif(query[0]==3): print(curMax.peek())