前缀和
前缀和
假设有一个从零开始的数组nums
,长度为n,我们可以通过计算前缀和数组prefixSum
来快速计算任意区间[i,j]
的和。
前缀和数组prefixSum
的定义如下:
prefixSum[i] = nums[0] + nums[1] + … + nums[i-1]
即prefixSum[i] = prefixSum[i-1] + nums[i-1]
其中prefixSum[0] = 0
有了上面的定义,我们可以快速计算任意区间[i,j]
的和:
sum[i,j] = prefixSum[j+1] - prefixSum[i]
例题
leetcode 560. 和为K的子数组
给定一个整数数组和一个整数k,找到该数组中和为k的连续子数组的个数。
1 | def subarraySum(self, nums: List[int], k: int) -> int: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 冰红茶怪兽!