running sum

main
Jason Staten 2 years ago
parent c17fa668c8
commit 6007c0dd33

@ -0,0 +1,32 @@
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

@ -0,0 +1,16 @@
package runningsum
func runningSum(nums []int) []int {
result := make([]int, len(nums))
total := 0
for i, num := range nums {
total += num
result[i] = total
}
return result
}
func RunningSum(nums []int) []int {
return runningSum(nums)
}

@ -0,0 +1,44 @@
package runningsum_test
import (
"testing"
"git.jxs.me/leetgo/runningsum"
"github.com/stretchr/testify/require"
)
func TestEmpty(t *testing.T) {
expected := make([]int, 0)
actual := runningsum.RunningSum([]int{})
require.Equal(t, expected, actual)
}
func TestSingle(t *testing.T) {
expected := []int{1}
actual := runningsum.RunningSum([]int{1})
require.Equal(t, expected, actual)
}
func TestDouble(t *testing.T) {
expected := []int{1, 2}
actual := runningsum.RunningSum([]int{1, 1})
require.Equal(t, expected, actual)
}
func TestExample1(t *testing.T) {
expected := []int{1, 3, 6, 10}
actual := runningsum.RunningSum([]int{1, 2, 3, 4})
require.Equal(t, expected, actual)
}
func TestExample2(t *testing.T) {
expected := []int{1, 2, 3, 4, 5}
actual := runningsum.RunningSum([]int{1, 1, 1, 1, 1})
require.Equal(t, expected, actual)
}
func TestExample3(t *testing.T) {
expected := []int{3, 4, 6, 16, 17}
actual := runningsum.RunningSum([]int{3, 1, 2, 10, 1})
require.Equal(t, expected, actual)
}
Loading…
Cancel
Save