Esse problema é "inspirado" a partir de uma pergunta que foi originalmente feita no Quora (não no código de golfe). Eu só quero fazer disso um desafio para vocês (e meu primeiro problema de envio aqui).
Dada uma matriz de elementos inteiros v
e um número inteiro d
(assumimos que d é menor ou igual ao comprimento da matriz), considere todas as seqüências de d
elementos consecutivos na matriz. Para cada sequência, calcule a diferença entre o valor máximo e mínimo dos elementos nessa sequência e nomeie-o como desvio.
Sua tarefa é escrever um programa ou função que calcule o valor máximo entre todos os desvios de todas as seqüências consideradas acima e retornar ou gerar esse valor.
Exemplo elaborado:
v: (6,9,4,7,4,1)
d: 3
The sequences of length 3 are:
6,9,4 with deviation 5
9,4,7 with deviation 5
4,7,4 with deviation 3
7,4,1 with deviation 6
Thus the maximal deviation is 6, so the output is 6.
Isso é código de golfe, então a resposta mais curta em bytes vence.
with
em toda uma função lambda