Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.56 KB | None | 0 0
  1. A = [5, 3, 1, 2, 4]
  2. import collections
  3. def decreasingQueue(A):
  4. queue = collections.deque()
  5. firstLargerToLeft = [-1]*len(A)
  6. firstLargerToRight = [-1]*len(A)
  7. for i,v in enumerate(A):
  8. while queue and A[queue[-1]] <= v:
  9. firstLargerToRight[queue.pop()] = v
  10.  
  11. if queue:
  12. firstLargerToLeft[i] = A[queue[-1]]
  13. queue.append(i)
  14. print(queue)
  15. return firstLargerToLeft, firstLargerToRight
  16.  
  17. firstLargerToLeft, firstLargerToRight = decreasingQueue(A)
  18. print(firstLargerToLeft)
  19. print(firstLargerToRight)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement