1480. Running Sum of 1d Array

JeongChaeJin·2022년 10월 3일
0

Problem

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.

My Solution

Python

class Solution:
    def runningSum(self, nums: List[int]) -> List[int]:
        result = []
        tmp_sum = 0
        for num in nums:
            tmp_sum += num
            result.append(tmp_sum)
            
        return result

Cpp

class Solution {
public:
    vector<int> runningSum(vector<int>& nums) {
        int prev = 0; 
        for (auto& num : nums) {
            prev += num;
            num = prev;
            prev = num;
        }
        
        return nums;
    }
};

Refernce Solution

python

class Solution:
    def runningSum(self, nums: List[int]) -> List[int]:
        for i in range(1, len(nums)):
            nums[i] += nums[i - 1]
        return nums
  • 더 짧은 코드
  • Space Complexity가 더 적음
  • TIme Complexity : O(n)
  • Space Complexity : O(1)

Cpp

class Solution {
public:
    vector<int> runningSum(vector<int> &nums) {
        // Initialize result array with first element in nums.
        vector<int> result = {nums[0]};

        for (int i = 1; i < nums.size(); i++) {
            // Result at index `i` is sum of result at `i-1` and element at `i`.
            result.push_back(result.back() + nums[i]);
        }
        return result;
profile
OnePunchLotto

0개의 댓글