Easy
出題者 : 曾致銘
給定一個整數 length
和一個長度為 length
的整數陣列 nums
。我們定義一個數字陣列的「動態和」為滿足 runningSum[i] = nums[0] + nums[1] + ... + nums[i]
。請回傳 nums
的動態和。
範例 1:
範例 2:
範例 3:
length
nums[i]
請思考要如何通過前一個動態和來計算當前的動態和 ?
我們需要算出 nums[i]
的動態和,其中 i
為從 0
到 length - 1
的整數且 length
是該陣列的長度。計算方法即為 nums[0]
到 nums[i]
的全項總和。我們可以創建一個相同長度的陣列作為輸出,並從第 0
項開始計算。在這種情況下,對於第 i
項元素,我們皆已經計算出其前一項的動態和,即 nums[0]
到 nums[i - 1]
的全項總和。因此,與其每一項都從頭開始計算其動態和,不如直接把該項加上已算好的前一項的動態和來的快速。
length
的陣列 result
。result[0]
的值設為 nums[0]
的值。result[i]
的值設為 nums[i] + result[i-1]
的值。i
到達 length-1
。在上一個層級中我們額外創建了一個陣列作為輸出。然而其實不用。我們可以對輸入陣列做一模一樣的計算且獲得相同的結果。
nums[i]
加上 i-1
項的動態和,而 i-1
項的動態和即被存在 nums[i-1]
。i
到達 length-1
。