Find the maximum values of each subarray of length k



Problem to find the maximum value for each k length subarray.



Example-1:


Input    : n = [ 10, 5, 2, 7, 8, 7]  k = 3
Output   : [10, 7, 8, 8] 
Explain  : subarray 1:[10,5,2] maximum = 10.
           subarray 2:[5,2,7] maximum = 7.
           subarray 3:[2,7,8] maximum = 8.
           subarray 4:[7,8,7] maximum = 8.  


Example-2:


Input    : n = [ 10, 5, 2, 7, 8, 7]  k = 4
Output   : [10, 8, 8] 
Explain  : subarray 1:[10,5,2,7] maximum = 10.
           subarray 2:[5,2,7,8] maximum = 8.
           subarray 3:[2,7,8,7] maximum = 8.







Solution




n = [ 10, 5, 2, 7, 8, 7]

k = 3

l = []

for i in range(len(n)-(k-1)):

    a = max(n[i:k+i])

    l.append(a)

print(l)



Output



[10, 7, 8, 8]