Estruturas de Dados (1): Encontrar o Máximo de uma Janela Deslizante
A janela deslizante é uma técnica usada para simplificar problemas complexos envolvendo dados. Uma janela que desliza pelos dados para examinar diferentes seções deles.
Seu desafio é criar uma janela deslizante que percorra o array e retorne o valor máximo em cada janela.
Argumentos
Array: O array que você está percorrendo.windowLength: O comprimento da janela que você usará para fazer a busca.- Retorna
Array: Um novo array contendo os valores máximos de cada janela. - Você recebe este array e um comprimento de janela igual a 2.
[4, 5, 6, 7, 8, 9]Nossa função começaria examinando os dois primeiros elementos do array e adicionaria o valor máximo a um novo array.
[**4, 5,** 6, 7, 8, 9]... então a janela desliza para examinar os próximos dois, neste caso 5 e 6, e adiciona o valor máximo ao array.
[4, **5, 6**, 7, 8, 9]A janela examinará todo o comprimento do array até que os valores máximos de cada janela tenham sido adicionados ao novo array.
Exemplos
windowMaxes([1, 2, 3, 4, 3, 2, 1, 2, 5], 3) ➞ [3, 4, 4, 4, 3, 2, 5]Observações
- Este desafio faz parte da minha série de Estruturas de Dados. Ela é uma coleção de desafios comuns de entrevistas de programação usados para testar a compreensão sobre estruturas de dados.
- A série completa de desafios pode ser encontrada aqui.