Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- A = [5, 3, 1, 2, 4]
- import collections
- def decreasingQueue(A):
- queue = collections.deque()
- firstLargerToLeft = [-1]*len(A)
- firstLargerToRight = [-1]*len(A)
- for i,v in enumerate(A):
- while queue and A[queue[-1]] <= v:
- firstLargerToRight[queue.pop()] = v
- if queue:
- firstLargerToLeft[i] = A[queue[-1]]
- queue.append(i)
- print(queue)
- return firstLargerToLeft, firstLargerToRight
- firstLargerToLeft, firstLargerToRight = decreasingQueue(A)
- print(firstLargerToLeft)
- print(firstLargerToRight)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement