求解 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+ 次觀看

開始你的事業

完成課程獲得認證

開始
廣告
© . All rights reserved.