目录

Leetcode 1480. 一維陣列累積和

# 題目

# 原題目

+ 英文:
- 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
4
5
6
7

# 測資一

+ 輸入: 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] 。
1
2
3

# 解題思路

再這題當中,i項為i-1項+原i項之和,可以用迴圈去跑,要注意的是 i 為 0 時不需要加,也就是第一項不用加前項,否則會出現索引值找不到的錯誤。

# Java 思路

使用 nums.length取得陣列長度,然後開始慢慢加即可。

# Python 思路

跟Java解題思路是一樣的。

# 答案

此題答案以 Python 解!

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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 相關文章

《Leetcode 747. 至少是其他數字兩倍的最大數》

《Leetcode 1464. 一個陣列中兩個元素的最大乘積》

上次更新: 2022/11/22, 22:11:00
最近更新
01
JS 學習筆記三 - 基本運算
11-24
02
JS 學習筆記二 - Vue API
11-24
03
Leetcode 1464. 一個陣列中兩個元素的最大乘積
10-05
更多文章>