[刷题技巧] 前缀和相关知识点汇总

一、前缀和的作用

前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和。

二、前缀和的思路

将原始数组进行预处理,将来需要查询数据的时候,只需要查询预处理的前缀和数组的某些值即可。
前缀和的求解是【动态规划】。

三、前缀和的定义


四、前缀和数组的构造

//int[] nums = {3, 5, 2, -2, 4, 1};

// 构造方式一:
int[] prefixSum = new int[nums.length + 1];
prefixSum[0] = 0;
for (int i = 1; i < prefixSum.length; i ++) {
    prefixSum[i] = prefixSum[i - 1] + nums[i - 1];
}

// 构造方式二:
int[] prefixSum = new int[nums.length];
prefixSum[0] = nums[0];
for (int i = 1; i < prefixSum.length; i ++) {
    prefixSum[i] = prefixSum[i - 1] + nums[i];
}

递推公式:

  • 子数组[i ... j]的和:nums[i ... j ] = preSum[j + 1] - preSum[i]
  • 如果区间长度为1,即j == i,则nums[i] = preSum[i + 1] - preSum[i]
posted @ 2024-01-14 16:38  Ac_c0mpany丶  阅读(8)  评论(0编辑  收藏  举报