Estructuras de datos (1): Encontrar el máximo de una ventana deslizante
La ventana deslizante es una técnica utilizada para simplificar problemas complejos de datos. Una ventana que se desliza por los datos para examinar distintas secciones de estos.
Tu desafío es crear una ventana deslizante que recorra el array y devuelva el valor máximo en cada ventana.
Argumentos
Array: El array que estás recorriendo.windowLength: La longitud de la ventana que usarás para realizar la búsqueda.- Devuelve
Array: Un nuevo array que contiene los valores máximos de cada ventana. - Se te proporciona este array y una longitud de ventana de 2.
[4, 5, 6, 7, 8, 9]Nuestra función comenzaría examinando los dos primeros elementos del array y agregaría el valor máximo a un nuevo array.
[**4, 5,** 6, 7, 8, 9]... luego la ventana se desliza para examinar los dos siguientes, en este caso 5 y 6, y agrega el valor máximo al array.
[4, **5, 6**, 7, 8, 9]La ventana examinará toda la longitud del array hasta que los valores máximos de cada ventana se hayan agregado al nuevo array.
Ejemplos
windowMaxes([1, 2, 3, 4, 3, 2, 1, 2, 5], 3) ➞ [3, 4, 4, 4, 3, 2, 5]Notas
- Este desafío forma parte de mi serie de Estructuras de datos. Es una colección de desafíos comunes de entrevistas de programación que se utilizan para comprobar la comprensión de las estructuras de datos.
- Puedes encontrar la serie completa de desafíos aquí.