用Python3做leetcode每日一題!!!!(1480. 一維陣列的動態和)(每日更新)

2020-10-22 15:00:43

題目:
給你一個陣列 nums 。陣列「動態和」的計算公式為:runningSum[i] = sum(nums[0]…nums[i]) 。

請返回 nums 的動態和。

範例 1:
輸入:nums = [1,2,3,4]
輸出:[1,3,6,10]
解釋:動態和計算過程為 [1, 1+2, 1+2+3, 1+2+3+4] 。

範例 2:
輸入: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] 。

範例 3:
輸入:nums = [3,1,2,10,1]
輸出:[3,4,6,16,17]

提示

1 <= nums.length <= 1000
-10^6 <= nums[i] <= 10^6

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/running-sum-of-1d-array
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

解題思路

一.在原有的陣列nums上實現元素的修改。

Python3的程式碼:

class Solution:
    def runningSum(self, nums: List[int]) -> List[int]:
        for i in range(1,len(nums)): #len(nums)是求陣列nums的元素長度(元素個數)
            nums[i] = nums[i] + nums[i-1]
        return nums          

執行結果:

二.新建一個列表來儲存計算結果。

Python3的程式碼:

class Solution:
    def runningSum(self, nums: List[int]) -> List[int]:

        list_1 = []#建立一個空的列表
        a = 0 
        for i in range(len(nums)):
           a = a + nums[i] 
           list_1.append(a)#把a的數值依次新增到列表list_1中
        return list_1

執行結果:
在這裡插入圖片描述