题目来源:leetcode.cn
题目描述:
题解:
1.类似于数组求和,只不过需要记录下每次相加的结果;
2.因此可以先定义一个累加器;
然后在循环体中,将数组前后两个数之和赋值给这个累加器;
最后,存入/更新到数组中;
代码如下:
// 解法1 for of 循环
const runningSum = (nums) => {
const results = []
let accumulator = 0
for(let num of nums) {
accumulator += num results.push(accumulator)
}
}
// 解法2 for 循环
const runningSum = (nums) => {
const results = [num]
for(let i = 1; i < nums.length; i++) {
results.push(results[i-1] + nums[i]) }
return results
}// 解法3 Array.reduce
const runningSum = (nums) => {
const results = []
nums.reduce((accumulator, pre) => {
results.push(accumulator + pre)
return accumulator + pre
}, 0)
return results
}
继续加油!