算法小记 —— 一维数组前缀和
适用性
前缀和技巧适⽤于快速、频繁地计算⼀个索引区间内的元素之和
原理
本质上相当于将一个数组内的元素进行累加,构建一个新的数组用于记录对应下标位置处的累加和
参考图:

那么我们需要求解某一连续范围内的元素和时,便可以直接转换为新数组对应下标的差
例子
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/算法小记 — 一维数组前缀和/