Compito
Dato un elenco di numeri interi L e un altro numero intero s , l'obiettivo è calcolare le somme per colonna di tutte le sezioni di L di lunghezza s (potenzialmente sovrapposte) , pur appartenendo alle loro posizioni rispetto a L (vedi sotto).
definizioni
Le sezioni di lunghezza s (sovrapposte) dell'elenco L sono tutte le sottosequenze contigue (senza avvolgimento) di L che sono di lunghezza s .
Al fine di riguardare le posizioni delle fette s rispetto a L , si può immaginare la costruzione di una "scala", dove ogni fetta s i ha un offset dei posizioni fin dall'inizio.
Specifiche
- s è un numero intero maggiore di 1 e strettamente minore della lunghezza di L .
- L conterrà sempre almeno 3 elementi.
- Puoi competere in qualsiasi linguaggio di programmazione e puoi prendere input e fornire output attraverso qualsiasi metodo standard , tenendo presente che queste scappatoie sono vietate per impostazione predefinita. Questo è code-golf , quindi vince l'invio più breve (in byte) per ogni lingua .
Esempi e casi di test
Ecco un esempio funzionante:
[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 alcuni altri casi di test:
[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
è più grande diL/2
. Magari aggiungi altri casi di test in cui è il caso[1, 1, 1, 1, 1, 1, 1], 6 ->
[1, 2, 2, 2, 2, 2, 1] `o[1, 2, 3, 4, 5, 6, 7, 8, 9], 6 -> [1, 4, 9, 16, 20, 24, 21, 16, 9]
?