Running Sum of 1d Array - Easy - LeetCode
💻 coding

Running Sum of 1d Array - Easy - LeetCode

1 min read 287 words
1 min read
ShareWhatsAppPost on X
  • 1The running sum of an array is defined as runningSum[i] = sum(nums[0]...nums[i]).
  • 2The solution has a time complexity of O(n) and a space complexity of O(n).
  • 3Example outputs demonstrate how the running sum is calculated for different input arrays.

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The running sum of an array is defined as runningSum[i] = sum(nums[0]...nums[i])."

Running Sum of 1d Array - Easy - LeetCode

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

Solution:

using System;
using System.Collections.Generic;
using System.Text;

namespace LeetCode.AskGif.Easy.Array
{
 public class RunningSumSoln
 {
 public int[] RunningSum(int[] nums)
 {
 var res = new int[nums.Length];
 int sum = 0;
 for (int i = 0; i < nums.Length; i++)
 {
 sum += nums[i];
 res[i] = sum;
 }

 return res;
 }
 }
}

Time Complexity: O(n)

Space Complexity: O(n)

Unit Tests:

using LeetCode.AskGif.Easy.Array;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Text;

namespace CodingUnitTest.Easy.Array
{
 [TestClass]
 public class RunningSumSolnTests
 {
 [TestMethod]
 public void RunningSumSoln_First()
 {
 var nums = new[] { 1, 2, 3, 4 };
 var expected = new int[] { 1, 3, 6, 10 };

 var res = new RunningSumSoln().RunningSum(nums);
 AreEqual(expected, res);
 }

 [TestMethod]
 public void RunningSumSoln_Second()
 {
 var nums = new[] { 1, 1, 1, 1, 1 };
 var expected = new int[] { 1, 2, 3, 4, 5 };

 var res = new RunningSumSoln().RunningSum(nums);
 AreEqual(expected, res);
 }

 [TestMethod]
 public void RunningSumSoln_Third()
 {
 var nums = new[] { 3, 1, 2, 10, 1 };
 var expected = new int[] { 3, 4, 6, 16, 17 };

 var res = new RunningSumSoln().RunningSum(nums);
 AreEqual(expected, res);
 }

 private void AreEqual(int[] res, int[] output)
 {
 Assert.AreEqual(res.Length, output.Length);
 for (int i = 0; i < res.Length; i++)
 {
 Assert.AreEqual(res[i], output[i]);
 }
 }

 }
}

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

AskGif

Published on 14 June 2020 · 1 min read · 287 words

Part of AskGif Blog · coding

You might also like