前缀和


前缀和

前缀和的核心式只有一条:子数组和可以写成两个前缀和之差。记 $s_j$ 为前 j 个元素之和($s_0 = 0$),第 i 到第 j 个元素(从 1 开始数)的和就是 $\text{sum}(i, j) = s_j - s_{i-1}$。围绕这条式子做变形,就是本合集的全部内容。

前缀和与哈希表

leetcode 523

题意:是否存在长度大于 1 的子数组,其和能被 k 整除。

前缀和的经典问题,务必掌握。把子数组记成第 i+1 到第 j 个元素(长度为 j - i),它的和写成 $s_j - s_i$ 后,「和能被 k 整除」即 $s_j - s_i \equiv 0 \pm...

Read more