一维数组动态和
给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 请返回 nums 的动态和。
示例 1:
输入:nums = [1,2,3,4] 输出:[1,3,6,10] 解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4]
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/running-sum-of-1d-array
思路比较简单,就是新建数组,然后将nums的之前的元素和存入新建的数组中。
class Solution {
public int[] runningSum(int[] nums) {
int[] a = new int[nums.length];
for(int i=0;i=0)
{a[i]=nums[j]+a[i];
j--;
}
}
}
return a;
}
}
比较容易理解,但是内存消耗和时间消耗比较大。
看了题解,没有必要再申请额外的空间,只需要在原数组上进行修改即可,从i=1开始,将每一个nums的元素改成之前的元素相加,这样在遇到第i个元素时,只需要将第i个元素加入就可以。
class Solution {
public int[] runningSum(int[] nums) {
for(int i=1;i
关注
打赏