[LeetCode]#Java 1480. Running Sum of 1d Array

Boom
3 min readDec 3, 2021

--

✊程式語言 Program Langue : Java | 難度:簡單(Easy)

✊ 題目敘述:

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.

😜中文翻譯:將給一個『nums』陣列,請回傳(return) runningSum[i]=sum(nums[0]…nums[i])的陣列,舉例來說就是假設有一個陣列為nums[1,1,1],將會回傳nums[1,1+1,1+1+1]。

Example 1:

Input: nums = [1,2,3,4]
Output: [1,3,6,10]
Explanation: Running sum is obtained as follows: [1, 1+2, 1+2+3, 1+2+3+4].

Example 2:

Input: nums = [1,1,1,1,1]
Output: [1,2,3,4,5]
Explanation: Running sum is obtained as follows: [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1].

Example 3:

Input: nums = [3,1,2,10,1]
Output: [3,4,6,16,17]

Constraints(條件):

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

✊題目分析:

  1. 先找出數字的規律

觀察Example 1:

輸入: nums = [1,2,3,4]
輸出: [1,3,6,10]
解釋: 跑出的結果如下: [1, 1+2, 1+2+3, 1+2+3+4].

可以觀察到的是

nums[0]=nums[0]

nums[1]=nums[0]+nums[1]

nums[2]=nums[0]+nums[1]+nums[2]

nums[3]=nums[0]+nums[1]+nums[2]+nums[3]

那我們也可以想成nums[0]沒有改變,所以我們不要動它,for迴圈的i設為1開始

 for(int i=1;i<nums.length;)

nums[1]=nums[0]+nums[1]

所以我們也許可以寫成

nums[i]=nums[i-1]+nums[i]

但不確定照這樣的寫法是否適用後面的位置

nums[2]=nums[0]+nums[1]+nums[2]

我們可以發現nums[2]為nums[1]加總完的結果再加上自己

所以可以在迴圈中寫下

nums[i]=nums[i-1]+nums[i]

2.回傳結果

👊code

👊Submissions(提交)

Runtime:0ms

謝謝你的閱讀:)
如果你喜歡我的分享
歡迎底下留言或來信至boomengineerli@gmail.com 與我分享
期待與更多優秀的夥伴交流😄------------------------------------------------
如果願意給我一些小小鼓勵,請給我1-10個拍手
如果覺得文章對你有點幫助,請給我11-20個拍手
如果想看更多程式的相關文章,請長按拍手按鈕(50個拍爆)讓我知道唷👏最後,如希望持續追蹤我的最新文章,請不要忘記追蹤 Boom ⭐️ 程式自學之旅 謝謝~🙌

--

--

Boom
Boom

Written by Boom

Boom Engineer | BOOM ⭐ 程式自學之旅 | 透過筆記釋放記憶體,記錄自己的程式筆記,『內化』成為這段旅程的養分,也分享給路過,正在經歷這趟旅程的你 | Java note begin at 2020.09 | Python note begin at 2021.03

No responses yet