前缀和
作用
- 快速求出数组0~i的和
- 快速求出数组i~j的和
模板1 和数组本身大小相同
int[] s = new int[nums.length];
s[0] = nums[0];
for (int i = 1; i < nums.length; i++) {
s[i] = s[i-1] + nums[i];
}
解读: 和数组大小相同,s[i]表示到 0~i 的数字之和 求 i ~ j , s[j] - s[i - 1]且 i 需要大于等于1
模板2
int[] s = new int[nums.length + 1];
s[0] = 0;
for (int i = 1; i < nums.length + 1; i++) {
s[i] = s[i - 1] + nums[i - 1];
}
解读:包含第0位,s 表示前 i 个数字之和。