Running Sum of 1d Array (LeetCode)

1480. Running Sum of 1d Array (Easy)

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 1:

Input: nums = [1,2,3,4]
Output: [1,3,6,10]
Explanation: Running sum is obtained as follows: [1, 1+2, 1+2+3, 1+2+3+4].

Example 2:

Input: nums = [1,1,1,1,1]
Output: [1,2,3,4,5]
Explanation: Running sum is obtained as follows: [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1].

Example 3:

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

Constraints:

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

Hint:

Think about how we can calculate the i-th number in the running sum from the (i-1)-th number.

Running Sum of 1d Array (Java)

class Solution {
    public int[] runningSum(int[] nums) {
        int[] ans = new int[nums.length];
	    for(int i=0; i<nums.length; i++)
	    {
	        int sum=0;
	        for(int j=0; j<i+1; j++)
	        {
	            sum=sum+nums[j];
	            ans[i]=sum;
	        }
	    }
	    return ans;
    }
}

Running Sum of 1d Array (Dry Run)

nums = [1,2,3,4]

i=0
sum=0
j=0
sum=sum+nums[0]=0+1=1
ans[i]=ans[0]=sum=1

i=1
sum=0
j=0
sum=sum+nums[0]=0+1=1
j=1
sum=sum+nums[1]=1+2=3
ans[1]=3

i=2
sum=0
j=0
ssum=sum+nums[0]=0+1=1
j=1
sum=sum+nums[1]=1+2=3
j=2
sum=sum+nums[2]=3+3=6
ans[2]=6

i=3
sum=0
j=0
ssum=sum+nums[0]=0+1=1
j=1
sum=sum+nums[1]=1+2=3
j=2
sum=sum+nums[2]=3+3=6
j=3
sum=sum+nums[3]=6+4=10
ans[3]=10

return ans //[1,3,6,10]

Leave a Comment