В основном, каты полагаются на скорость, это означает, что лучше не использовать методы массива, такие как reduce
или функции изменения массива, такие как shift
.
Скорость (694 мс) определяетсяпростая for
петля.
function beggars(values, n) {
var result = Array.from({ length: n }).fill(0), // prefill array with zero
i, l;
for (i = 0, l = values.length; i < l; i++) {
result[i % n] += values[i];
}
return result;
}
console.log(beggars([1, 2, 3, 4, 5], 1)); // [15]
console.log(beggars([1, 2, 3, 4, 5], 2)); // [9, 6]
console.log(beggars([1, 2, 3, 4, 5], 3)); // [5, 7, 3]
console.log(beggars([1, 2, 3, 4, 5], 6)); // [1, 2, 3, 4, 5, 0]
console.log(beggars([1, 2, 3, 4, 5], 0)); // []
.as-console-wrapper { max-height: 100% !important; top: 0; }