我想要一个函数runningSum
在数字数组 a (或任何可添加事物的有序集合)上,返回相同长度的数组,其中每个元素i
是 A 中所有元素的总和最多包括i
.
例子:
runningSum([1,1,1,1,1,1]) -> [1,2,3,4,5,6]
runningSum([2,2,2,2,2,2]) -> [2,4,6,8,10,12]
runningSum([1,0,1,0,1,0]) -> [1,1,2,2,3,3]
runningSum([0,1,0,1,0,1]) -> [0,1,1,2,2,3]
我可以用 for 循环或者其他什么来做到这一点。有更实用的选择吗?它有点像归约,只不过它构建了一个包含所有中间值的结果数组。
更一般的是有一个函数可以接受任何序列并提供一个序列,该序列是输入序列的运行总计。