Advertisement

Running Sum of 1d Array - LeetCode 1480 Solution

Running Sum of 1d Array - Complete Solution Guide

Running Sum of 1d Array is LeetCode problem 1480, a Easy level challenge. This complete guide provides step-by-step explanations, multiple solution approaches, and optimized code in python3.

Problem Statement

Given an array nums . We define a running sum of an array as runningSum[i] = sum(nums[0]&hellip;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.lengt

Detailed Explanation

The problem asks you to calculate the running sum of a 1D array. The running sum at index `i` is the sum of all elements from index 0 up to and including index `i`. The input is an array of integers, `nums`. The output is a new array of the same length, where each element represents the running sum up to that point. For example, if the input is `[1, 2, 3, 4]`, the output should be `[1, 3, 6, 10]` because: 1, 1+2, 1+2+3, 1+2+3+4. The constraints specify that the input array will have a length between 1 and 1000, inclusive, and the elements within the array will be between -10<sup>6</sup> and 10<sup>6</sup>, inclusive.

Solution Approach

The provided Python solution uses a straightforward iterative approach. It initializes an empty list called `running_sum` to store the results. It then iterates through the input array `nums`. In each iteration, it adds the current element to a `current_sum` variable. This `current_sum` is then appended to the `running_sum` list, representing the running sum up to that point. Finally, the `running_sum` list is returned.

Step-by-Step Algorithm

  1. Step 1: Initialize an empty list called `running_sum` to store the running sums.
  2. Step 2: Initialize a variable `current_sum` to 0.
  3. Step 3: Iterate through the input array `nums`.
  4. Step 4: In each iteration, add the current element `num` to `current_sum`.
  5. Step 5: Append `current_sum` to the `running_sum` list.
  6. Step 6: After iterating through all elements, return the `running_sum` list.

Key Insights

  • Insight 1: The running sum at each index is simply the running sum at the previous index plus the current element. This allows for a single-pass solution.
  • Insight 2: A simple iterative approach using a loop is sufficient and efficient to solve this problem. No advanced data structures are needed.
  • Insight 3: Handling an empty input array is not explicitly mentioned, but a robust solution should gracefully handle this edge case by returning an empty array.

Complexity Analysis

Time Complexity: O(n)

Space Complexity: O(n)

Topics

This problem involves: Array, Prefix Sum.

Companies

Asked at: EPAM Systems.