算法小记 —— 一维数组前缀和
适用性
前缀和技巧适⽤于快速、频繁地计算⼀个索引区间内的元素之和
原理
本质上相当于将一个数组内的元素进行累加,构建一个新的数组用于记录对应下标位置处的累加和
参考图:
那么我们需要求解某一连续范围内的元素和时,便可以直接转换为新数组对应下标的差
例子
303. 区域和检索 - 数组不可变 - 力扣(LeetCode)
给定一个整数数组 nums
,处理以下类型的多个查询:
- 计算索引
left
和right
(包含left
和right
)之间的nums
元素的 和 ,其中left <= right
实现 NumArray
类:
NumArray(int[] nums)
使用数组nums
初始化对象int sumRange(int i, int j)
返回数组nums
中索引left
和right
之间的元素的 总和 ,包含left
和right
两点(也就是nums[left] + nums[left + 1] + ... + nums[right]
)
1 |
|
算法小记 —— 一维数组前缀和
https://equinox-shame.github.io/2024/02/27/算法小记 — 一维数组前缀和/