Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm tổng đang chạy của mảng 1d trong Python

Giả sử chúng ta có một số mảng. Tổng đang chạy của một mảng dưới dạng rs [i] là tổng của tất cả các phần tử từ nums [0] đến nums [i]. Cuối cùng trả về toàn bộ tổng số nums đang chạy.

Vì vậy, nếu đầu vào là nums =[8,3,6,2,1,4,5], thì đầu ra sẽ là [8, 11, 17, 19, 20, 24, 29], bởi vì

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

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • n:=kích thước của nums

  • rs:=[nums [0]]

  • đối với tôi trong phạm vi từ 1 đến n - 1, hãy thực hiện

    • nums [i]:=nums [i] + nums [i-1]

    • chèn nums [i] vào cuối rs

  • trả lại rs

Ví dụ (Python)

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

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))

Đầu vào

[8,3,6,2,1,4,5]

Đầu ra

[8, 11, 17, 19, 20, 24, 29]