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

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。