Running Sum of 1d Array - LeetCode
Can you solve this real interview question? Running Sum of 1d Array - 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,
leetcode.com
문제
배열이 주어지고, 첫번째 인덱스부터 i번째 인덱스까지의 값을 더한 값을 i번째 index에 넣은 배열을 출력하는 문제
내 코드
앞의 합을 따로 저장해주면 되겠네 싶어서 짠 코드
public int[] runningSum(int[] nums) {
int[] answer = new int[nums.length];
answer[0] = nums[0];
for (int i = 1; i < nums.length; i++) {
answer[i] = answer[i - 1] + nums[i];
}
return answer;
}
잘 풀었다고 생각했는데, Memory를 다른 사람들보다 많이 썼다고 나오길래 다른 사람의 풀이를 보았다.
다른 사람의 코드
class Solution {
public int[] runningSum(int[] nums) {
for(int i=1;i<nums.length;i++){
nums[i]=nums[i-1]+nums[i];
}
return nums;
}
}
새로 배열을 만들지 않고, 기존 배열에서 진행을 했기 때문에 메모리 측면에서 효율적인 코드였다.