Problem Name: Python -
In this HackerRank Functions in PYTHON problem solution,
There is a horizontal row of n cubes. The length of each cube is given. You need to create a new vertical pile of cubes. The new pile should follow these directions: if cube[i] is on top of cube[j] then sideLength[j] >= sideLength[i]
When stacking the cubes, you can only pick up either the leftmost or the rightmost cube each time. Print
Yes if it is possible to stack the cubes. Otherwise, print
blocks = [1,2,3,8,7].
Choose blocks from right to left in order to successfully stack the blocks.
The first line contains a single integer T, the number of test cases.
For each test case, there are 2 lines.
The first line of each test case contains n the number of cubes.
The second line contains n space separated integers, denoting the sideLengths of each cube in that order.
1 <= T <= 5
1 <= n <= 10**5
1 <= sideLength <= 2**31
For each test case, output a single line containing either
STDIN Function ----- -------- 2 T = 2 6 blocks size n = 6 4 3 2 1 3 4 blocks = [4, 3, 2, 1, 3, 4] 3 blocks size n = 3 1 3 2 blocks = [1, 3, 2]
#1 Code Example with Python Programming
Copy The Code & Try With Live Editor
from collections import deque for _ in range(int(input())): input() dq = deque(map(int, input().split())) last = None while dq: curr = dq.popleft() if dq[-1] < dq else dq.pop() if last and last < curr: break else: last = curr print('No' if dq else 'Yes')