当前位置:   article > 正文

【20200910】【每天一道算法题】一维数组的动态和(数组)_具体的一维数组动态和

具体的一维数组动态和

问题

给你一个数组 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. # 方法:有点类似于动态规划
  2. # 思路:第 i 个位置的结果 = 第 i-1 个位置的结果 + 第 i 个位置的num
  3. # 我这个是开辟了新数组,没有更改原数组,其实也可以在原数组上面直接修改。
  4. class Solution:
  5. def runningSum(self, nums: List[int]) -> List[int]:
  6. if nums:
  7. result = [nums[0]]
  8. for i in range(1, len(nums)):
  9. result.append(result[i-1] + nums[i])
  10. return result
  11. else:
  12. return []
  13. # 直接修改原数组
  14. class Solution:
  15. def runningSum(self, nums: List[int]) -> List[int]:
  16. if not nums:
  17. return []
  18. else:
  19. for i in range(1, len(nums)):
  20. nums[i] = nums[i-1] + nums[i]
  21. return nums

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号