Advertisement
Iam_Sandeep

Find Left immediate Smaller and Find right immediate Smaller for every element. Increasing Stack

Jul 31st, 2022 (edited)
1,080
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.38 KB | None | 0 0
  1. from collections import deque
  2. def find(a):
  3.     q=deque()
  4.     n=len(a)
  5.     pre,pos=[-1]*n,[n]*n
  6.     for i,val in enumerate(a):
  7.         while q and a[q[-1]]>=val:#top>=cur increasing stack
  8.             idx=q.pop()
  9.             pos[idx]=i
  10.         if q:
  11.             pre[i]=q[-1]
  12.         q.append(i)#This I forget always Keep remember this
  13.     print(pre,pos)
  14.  
  15. find([1,4,3,7,4,5])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement