LeetCode 解題練習:Running Sum of 1d Array

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.

題目原文描述 https://leetcode.com/problems/running-sum-of-1d-array/

中文描述

指定一個整數陣列 nums ,與定義 runningSum[i] = nums[0] + nums[1] + nums[2] + ... nums[i-1] + nums[i] 。

範例一:

輸入 nums = [1, 3, 5, 9] 

輸出 runningSum[i] = [1, 4, 9, 18] 

因為 runningSum[i] = [1, 1 + 3, 1 + 3 + 5, 1 + 3 + 5 + 9]


範例二:

輸入 nums = [2, 2, 2, 2] 

輸出 runningSum[i] = [2, 4, 6, 8] 

因為 runningSum[i] = [2, 2 + 2, 2 + 2 + 2, 2 + 2 + 2 + 2]


解法:

因為從陣列的第二個元素開始,就是前一個陣列元素 nums[i-1] 加上自己本身 nums[i],可導出公式為 nums[i] = nums[i-1] + nums[i] ,i 從 1 開始。於是使用迴圈來更新 nums[i] 的值即可。


Python Code

class Solution:
    def runningSum(self, nums: List[int]) -> List[int]:
        for i in range(1, len(nums)):
            nums[i] = nums[i] + nums[i-1]
       
        return nums

沒有留言: