LeetCode 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 的子数组 | 中等 | 前缀和 |
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议,转载请注明出处!