# Problem 18

## Description

This problem was asked by Google.

Given an array of integers and a number `k`

, where 1 <= `k`

<= length of the array, compute the maximum values of each subarray of length `k`

.

For example, given array = `[10, 5, 2, 7, 8, 7]`

and `k = 3`

, we should get: `[10, 7, 8, 8]`

, since:

```
10 = max(10, 5, 2)
7 = max(5, 2, 7)
8 = max(2, 7, 8)
8 = max(7, 8, 7)
```

Do this in `O(n)`

time and `O(k)`

space. You can modify the input array in-place and you do not need to store the results. You can simply print them out as you compute them.