当前位置:   article > 正文

一维数组的动态和_一维数组动态求和

一维数组动态求和

1480 一维数组的动态和

1480. 一维数组的动态和

给你一个数组 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] 。
  • 1
  • 2
  • 3

示例 2:

输入:nums = [1,1,1,1,1]
输出:[1,2,3,4,5]
解释:动态和计算过程为 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1] 。
  • 1
  • 2
  • 3

示例 3:

输入:nums = [3,1,2,10,1]
输出:[3,4,6,16,17]
  • 1
  • 2

提示:

  • 1 <= nums.length <= 1000
  • -10^6 <= nums[i] <= 10^6

解题代码

我们可以从下标 11 开始遍历 nums 数组,每次让 nums[i] 变为 nums[i−1]+nums[i] 即可(因为此时的 nums[i−1] 即为 runningSum[i−1])。

class Solution {
    public int[] runningSum(int[] nums) {
        int length = nums.length;
        for (int i = 1; i < length; i++) {
            nums[i] = nums[i - 1] + nums[i];
        }
        return nums;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

复杂度分析

  • 时间复杂度:O(n),其中 n 是给定数组长度。
  • 空间复杂度:O(1),我们只需要常数的空间保存若干变量。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/45145
推荐阅读
相关标签
  

闽ICP备14008679号