求解 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]

更新日期: 17-May-2021

4K+ 次观看

开始你的事业

完成课程获得认证

开始
广告