Skip to content

Link to Question

EASY

Running Sum of 1d Array

Given an array nums. We define a running sum of an array as runningSum[i] = sum(nums[0]…nums[i]).

Return the running sum of nums.

Example

Input:

nums = [1,2,3,4]
Output:
[1,3,6,10]

Explanation: - runningSum[0] = 1 - runningSum[1] = 1 + 2 = 3 - runningSum[2] = 1 + 2 + 3 = 6 - runningSum[3] = 1 + 2 + 3 + 4 = 10


Constraints

  • 1 ≤ nums.length ≤ 1000
  • -10^6 ≤ nums[i] ≤ 10^6

Solution: Prefix Sum

  • Time Complexity: O(n)
  • Space Complexity: O(1) (if done in-place)
C++
class Solution {
public:
    vector<int> runningSum(vector<int>& nums) {
        for (int i = 1; i < nums.size(); ++i) {
            nums[i] += nums[i-1];
        }
        return nums;
    }
};