This post is part of the Algorithms Problem Solving series.
This is the Running Array Sum problem. The description looks like this:
Given an array
nums. We define a running sum of an array as
runningSum[i] = sum(nums…nums[i]).
Return the running sum of
Input: nums = [1,2,3,4] Output: [1,3,6,10] Input: nums = [1,1,1,1,1] Output: [1,2,3,4,5] Input: nums = [3,1,2,10,1] Output: [3,4,6,16,17]
The idea here is to cache the sum of the numbers while iterating through the list. For each number, add to the sum and then add the sum to the result list.
def running_sum(nums): sum = 0 result =  for num in nums: sum += num result.append(sum) return result