Tarefa
Dada uma lista de números inteiros L e outro número inteiro s , o objetivo é calcular as somas em colunas de todas as fatias de comprimento s (potencialmente sobrepostas) de L , enquanto pertencem a suas posições em relação a L (veja abaixo).
Definições
As fatias de comprimento s (sobrepostas) da lista L são todas as subsequências contíguas (sem quebra) de L que são de comprimento s .
A fim de se referem as posições das fatias s em relação ao L , você pode imaginar a construção de uma "escada", onde cada fatia é i tem um deslocamento de i posiciona desde o início.
Especificações
- s é um número inteiro maior do que 1 e estritamente menor que o comprimento de L .
- L sempre conterá pelo menos três elementos.
- Você pode competir em qualquer linguagem de programação e pode receber e fornecer saída por qualquer método padrão , observando que essas brechas são proibidas por padrão. Isso é código-golfe , então a submissão mais curta (em bytes) para todos os idiomas vence.
Exemplos e casos de teste
Aqui está um exemplo trabalhado:
[1, 2, 3, 4, 5, 6, 7, 8, 9], 3
[1, 2, 3]
[2, 3, 4]
[3, 4, 5]
[4, 5, 6]
[5, 6, 7]
[6, 7, 8]
[7, 8, 9]
-------------------------------- (+) | column-wise summation
[1, 4, 9, 12, 15, 18, 21, 16, 9]
E mais alguns casos de teste:
[1, 3, 12, 100, 23], 4 -> [1, 6, 24, 200, 23]
[3, -6, -9, 19, 2, 0], 2 -> [3, -12, -18, 38, 4, 0]
[5, 6, 7, 8, 2, -4, 7], 3 -> [5, 12, 21, 24, 6, -8, 7]
[1, 2, 3, 4, 5, 6, 7, 8, 9], 3 -> [1, 4, 9, 12, 15, 18, 21, 16, 9]
[1, 1, 1, 1, 1, 1, 1], 6 -> [1, 2, 2, 2, 2, 2, 1]
[1, 2, 3, 4, 5, 6, 7, 8, 9], 6 -> [1, 4, 9, 16, 20, 24, 21, 16, 9]
s
é maior queL/2
. Talvez adicione mais alguns casos de teste onde é esse o caso[1, 1, 1, 1, 1, 1, 1], 6 ->
[1, 2, 2, 2, 2, 2, 1] `ou[1, 2, 3, 4, 5, 6, 7, 8, 9], 6 -> [1, 4, 9, 16, 20, 24, 21, 16, 9]
?