Завдання
З огляду на список цілих чисел L та іншого цілого s , мета - обчислити стовпчикові суми всіх s- довжини (потенційно перекриваються) зрізів L , зберігаючи їхні позиції відносно L (див. Нижче).
Визначення
В и -довжиною (перекриваються) зрізи список L все суміжні підпослідовності (без упаковки) з L , які мають довжину s .
Для того, щоб визначити положення зрізів s відносно L , ви можете уявити собі побудову "драбини", де кожен зріз s i має зсув i положень від початку.
Технічні характеристики
- s є цілим числом вище , ніж 1 , і строго менше , ніж довжина L .
- L завжди буде містити щонайменше 3 елементи.
- Ви можете змагатися з будь-якою мовою програмування і можете приймати введення та надавати висновок будь-яким стандартним методом , зауважуючи, що ці лазівки заборонені за замовчуванням. Це код-гольф , тому найкоротше подання (у байтах) на кожну мову виграє.
Приклади та тестові випадки
Ось відпрацьований приклад:
[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]
І ще кілька тестових випадків:
[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
, що більший заL/2
. Можливо, додамо ще кілька тестових випадків, коли це так[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]
?