前言
今日份算法篇,题目来自于力扣:
题目:
给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。
请返回 nums 的动态和。
例如
输入:nums = [1,2,3,4]
输出:[1,3,6,10]
解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。
输入:nums = [1,2,3,4]
输出:[1,3,6,10]
解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。
实现
方法一
class Solution:
def runningSum(self, nums):
newnums = []
for index,x in enumerate(nums):
if index > 0:
value = nums[index] + newnums[index - 1]
newnums.insert(index,value)
else:
newnums.insert(index,x)
return newnums
if __name__ == '__main__':
solution = Solution()
print(solution.runningSum(nums=[1,2,3,4]))
方法二
class Solution:
def runningSum(self, nums):
newnums = []
init = 0
for x in nums:
x = x + init
newnums.append(x)
init = x
return newnums
if __name__ == '__main__':
solution = Solution()
print(solution.runningSum(nums=[1,2,3,4]))