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]