Aufgabe
Ausgehend von einer Liste von ganzen Zahlen L und einer anderen ganzen Zahl s besteht das Ziel darin, die spaltenweisen Summen aller (möglicherweise überlappenden) Schichten mit der Länge s von L zu berechnen , während ihre Positionen in Bezug auf L angegeben werden (siehe unten).
Definitionen
Die s- Länge (überlappende) Schichten der Liste L sind alle zusammenhängenden Teilfolgen (ohne Umbruch) von L , die die Länge s haben .
Um die Positionen der Slices s relativ zu L zu bestimmen , können Sie sich vorstellen, eine "Leiter" zu bauen, in der jedes Slice s i von Anfang an einen Versatz von i Positionen hat.
Technische Daten
- s eine ganze Zahl größer als 1 und streng kleiner als die Länge L .
- L enthält immer mindestens 3 Elemente.
- Sie können in jeder Programmiersprache antreten und über jede Standardmethode Eingaben und Ausgaben vornehmen. Beachten Sie jedoch, dass diese Lücken standardmäßig verboten sind. Dies ist Codegolf , daher gewinnt die kürzeste Übermittlung (in Bytes) für jede Sprache .
Beispiele und Testfälle
Hier ist ein Beispiel:
[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]
Und noch ein paar Testfälle:
[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
größer ist alsL/2
. Vielleicht noch ein paar Testfälle hinzufügen, in denen dies der Fall ist[1, 1, 1, 1, 1, 1, 1], 6 ->
[1, 2, 2, 2, 2, 1] `oder[1, 2, 3, 4, 5, 6, 7, 8, 9], 6 -> [1, 4, 9, 16, 20, 24, 21, 16, 9]
?