leetcode 1480. Running Sum of 1d Array(python)

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

描述

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.

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]
复制代码

Note:

1 <= nums.length <= 1000
-10^6 <= nums[i] <= 10^6
复制代码

解析

根据题意,就是给出了一个整数列表 nums ,然后定义了一个 runningSum 概念, runningSum[i] = sum(nums[0]…nums[i]) ,即第 i 个位置的 runningSum 就是从 0 到 i 位置所有元素的和,思路比较简单,直接遍历每个位置的元素,直接将前面的所有元素累加起来重新赋值给当前列表位置就可以了。

解答

class Solution(object): def runningSum(self, nums): """ :type nums: List[int] :rtype: List[int] """ for i in range(1,len(nums)): nums[i] += nums[i-1] return nums

运行结果

Runtime: 28 ms, faster than 62.70% of Python online submissions for Running Sum of 1d Array.
Memory Usage: 13.5 MB, less than 87.68% of Python online submissions for Running Sum of 1d Array.
复制代码

解析

另外同样的思路,直接用 python 的内置函数 sum 求和即可。

解答

class Solution(object):
    def runningSum(self, nums):
        """
        :type nums: List[int]
        :rtype: List[int]
        """
        result = []
        for i in range(len(nums)):
            result.append(sum(nums[:i+1]))
        return result
复制代码

运行结果

Runtime: 44 ms, faster than 18.22% of Python online submissions for Running Sum of 1d Array.
Memory Usage: 13.5 MB, less than 87.68% of Python online submissions for Running Sum of 1d Array.
复制代码

原题链接:leetcode.com/problems/ru…

您的支持是我最大的动力

猜你喜欢

转载自juejin.im/post/7016873046371762206