1480. Running Sum of 1d Array
題目
原題目
1
2
3
4
5
6
7
+ 英文:
- 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.
+ 中文:
- 給定一個陣列,陣列「累積和」的計算公式為「runningSum[i] = sum(nums[0]…nums[i]) 」。
- 請回傳 nums 的 累積和。
測資一
1
2
3
+ 輸入: nums = [1,2,3,4]
+ 輸出: [1,3,6,10]
- 解釋: 累積和計算過程為 [1, 1+2, 1+2+3, 1+2+3+4] 。
測資二
1
2
3
+ 輸入: nums = [1,1,1,1,1]
+ 輸出: [1,2,3,4,5]
- 解釋: 累積和計算過程為 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1] 。
解題思路
再這題當中,i項為i-1項+原i項之和,可以用迴圈去跑,要注意的是 i 為 0 時不需要加,也就是第一項不用加前項,否則會出現索引值找不到的錯誤。
Java 思路
使用 nums.length取得陣列長度,然後開始慢慢加即可。
Python 思路
跟Java解題思路是一樣的。
答案
此題答案以 Python 解!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution ( object ):
def runningSum ( self , nums ):
"""
:type nums: List[int]
:rtype: List[int]
"""
# 先宣告一個空串列
lst = []
# i 從 0 跑至 nums的長度
for i in range ( len ( nums )):
# 第一項
if i == 0 :
lst . append ( nums [ i ])
#第二項開始
else :
lst . append ( nums [ i ] + lst [ i - 1 ])
return lst
Licensed under CC BY-NC-SA 4.0