LeetCode 1480. 一维数组的动态和

题目描述

1480. 一维数组的动态和

思路分析

解法一:前缀和(推荐)

核心思路

  • 逐项累加得到前缀和数组。
  • res[i] = res[i-1] + nums[i]


复杂度分析

  • 时间复杂度:O(n)。
  • 空间复杂度:O(1)(不计输出)。
class Solution {
    public int[] runningSum(int[] nums) {
        int[] res = new int[nums.length];
        int sum = 0;
        for (int i = 0; i < nums.length; i++) {
            sum += nums[i];
            res[i] = sum;
        }
        return res;
    }
}
func runningSum(nums []int) []int {
    res := make([]int, len(nums))
    sum := 0
    for i, v := range nums {
        sum += v
        res[i] = sum
    }
    return res
}

相似题目

题目 难度 考察点
303. 区域和检索 - 数组不可变 简单 前缀和
724. 寻找数组的中心下标 简单 前缀和
1588. 所有奇数长度子数组的和 简单 前缀和
1310. 子数组异或查询 中等 前缀和
560. 和为 K 的子数组 中等 前缀和
本文作者:
本文链接: https://hgnulb.github.io/blog/2022/39097833
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处!