求解 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] = sum of nums[0..1] = 8 + 3 = 11 rs[2] = sum of nums[0..2] = 8 + 3 + 6 = 17 and so on
为解决此问题,我们将遵循以下步骤 −
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]
广告