您当前的位置: 首页 >  liyatjj leetcode

LeetCode一维数组动态和

liyatjj 发布时间:2022-04-29 08:36:36 ,浏览量:4

一维数组动态和

给你一个数组 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            
关注
打赏
1688896170
查看更多评论
0.3578s