정수 배열 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]
import java.util.*;
class Solution {
public int[] runningSum(int[] nums) {
ArrayList<Integer> arrayList = new ArrayList<>();
arrayList.add(nums[0]);
for(int idx = 1; idx < nums.length; idx++) {
arrayList.add(arrayList.get(idx-1) + nums[idx]);
}
int[] result = new int[nums.length];
int size = 0;
for(int temp : arrayList) {
result[size++] = temp;
}
return result;
}
}
Runtime: 1 ms, faster than 7.22% of Java online submissions for Running Sum of 1d Array.
Memory Usage: 39.2 MB, less than 46.24% of Java online submissions for Running Sum of 1d Array.
class Solution {
public int[] runningSum(int[] nums) {
for(int i = 1; i < nums.length; i++) {
nums[i] = nums[i - 1] + nums[i];
}
return nums;
}
}
Runtime: 0 ms, faster than 100.00% of Java online submissions for Running Sum of 1d Array.
Memory Usage: 40.2 MB, less than 5.71% of Java online submissions for Running Sum of 1d Array.
class Solution {
public int[] runningSum(int[] nums) {
//int temp = 0;
for(int i = 1; i < nums.length; i++){
nums[i] = nums[i] + nums[i-1];
}
System.gc();
return nums;
}
}
Runtime: 1 ms, faster than 7.22% of Java online submissions for Running Sum of 1d Array.
Memory Usage: 38.5 MB, less than 99.57% of Java online submissions for Running Sum of 1d Array.
GC를 알아보자
'Algorithm > LeetCode' 카테고리의 다른 글
[LeetCode] Richest Customer Wealth (0) | 2021.06.12 |
---|---|
[LeetCode] Shuffle the Array (0) | 2021.06.11 |
[LeetCode] Check if Word Equals Summation of Two Words (0) | 2021.06.07 |
[Quiz] Find-Eventual-Safe-States (0) | 2021.05.26 |
[LeetCode] - Find Eventual Safe States (0) | 2021.05.18 |