在Python中查找一维数组的运行总和的程序
假设我们有一个数组nums。 数组的运行总和rs [i]是从nums [0]到nums [i]的所有元素的总和。最后返回整个nums的运行总和。
因此,如果输入为nums = [8,3,6,2,1,4,5],则输出将为[8, 11, 17, 19, 20, 24, 29],因为
rs [0] = nums [0]
rs [1] = nums [0 .. 1]的总和 = 8 + 3 = 11
rs [2] = nums [0 .. 2]的总和 = 8 + 3 + 6 = 17
等等
要解决此问题,我们将遵循以下步骤-
- n:nums的大小
-
rs:[nums [0]]
-
对于i在1到n-1的范围内,执行以下操作
- nums [i]:= nums [i]+ nums [i-1]
-
在rs的末尾插入nums [i]
-
返回rs
示例(Python)
让我们看一下以下实现,以更好地理解-
def solve(prices):
n=len(nums)
rs=[nums[0]]
for i in range(1,n):
nums[i]+=nums[i-1]
rs.append(nums[i])
return rs
nums = [8,3,6,2,1,4,5]
print(solve(nums))
输入
[8,3,6,2,1,4,5]
输出
[8, 11, 17, 19, 20, 24, 29]