Algorithm/LeetCode

[Python3] 1480. Running Sum of 1d Array

sohyxxnz 2022. 8. 24. 23:04

[1480. Running Sum of 1d Array] (https://leetcode.com/problems/running-sum-of-1d-array/)

for loop

a basic solution with for loop

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

accumulate (itertools)

a solution with [itertools.acuumulate] (https://sohyxxnz.tistory.com/8)

class Solution:
    def runningSum(self, nums: List[int]) -> List[int]:
        return list(accumulate(nums))

list slicing

a solution with slicing

class Solution:
    def runningSum(self, nums: List[int]) -> List[int]:
        return [sum(nums[:i+1]) for i in range(len(nums))] 

In comparison with Java

class Solution {
    public int[] runningSum(int[] nums) {
        int[] ans = new int[nums.length];
        ans[0] = nums[0];
        for(int i=1; i<nums.length; i++){
            ans[i] = ans[i-1]+nums[i];
        }
        return ans;
    }
}