1480. 一維陣列累積和

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
comments powered by Disqus
夏特稀版權所有
請尊重著作權