mirror of
https://github.com/prdlk/leetcode.git
synced 2026-11-02 21:22:43 +00:00
56 lines
1.2 KiB
Plaintext
56 lines
1.2 KiB
Plaintext
---
|
|
title: '1480. Running Sum of 1d Array'
|
|
description: Given an array nums. We define a running sum of an array as runningSum[i] = sum(nums[0]…nums[i])
|
|
sidebar:
|
|
label: 'Running Sum of 1d Array'
|
|
badge: 'Easy'
|
|
---
|
|
|
|
<Badge variant="accent">Array</Badge>
|
|
|
|
### 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`
|
|
|
|
## Approach
|
|
|
|
```mermaid
|
|
flowchart TD
|
|
S(["runningSum(nums)"]) --> I["prefix = [nums[0]]"]
|
|
I --> L{"more i in 1..n-1?"}
|
|
L -- yes --> P["prefix.push(prefix[i-1] + nums[i])"]
|
|
P --> L
|
|
L -- no --> E(["return prefix"])
|
|
```
|
|
|
|
## Solution
|
|
|
|
```js
|
|
/**
|
|
* @param {number[]} nums
|
|
* @return {number[]}
|
|
*/
|
|
var runningSum = function(nums) {
|
|
let prefix = [nums[0]];
|
|
for (let i = 1; i < nums.length; i++){
|
|
prefix.push(prefix[i - 1] + nums[i]);
|
|
}
|
|
return prefix;
|
|
};
|
|
```
|