
目录一、什么是前缀和?二、前缀和的核心思想是什么?三、为什么两个前缀和相减就是区间和?四、前缀和解决什么问题?五、前缀和的基本模板1. 构造前缀和数组2. 查询区间[l, r]的和六、前缀和的几种常见用法用法一:快速求某个区间的和模板用法二:判断是否存在和为 k 的子数组模板:判断是否存在用法三:统计和为 k 的子数组个数核心公式模板:统计个数用法四:和能否被 k 整除常见题型模板:统计和能被 k 整除的子数组个数七、前缀和和滑动窗口有什么区别?1. 前缀和适合什么?2. 滑动窗口适合什么?3. 为什么有负数时滑动窗口不好用?八、什么场景一眼想到前缀和?1. 出现“连续子数组的和”2. 出现“多次查询区间和”3. 出现“子数组和能被 k 整除”4. 出现“区间加减、累计变化”5. 出现“二维矩阵区域和”九、一维前缀和模板总结模板一:普通前缀和数组模板二:前缀和 + Map 统计和为 k 的子数组模板三:前缀和 + Set 判断是否存在十、二维前缀和简单了解十一、前缀和的本质十二、前缀和常见题型总结十三、一句话记忆一、什么是前缀和?前缀和就是:从数组开头到当前位置为止的累计和。假设有数组:nums = [2, 4, 1, 7, 3]它的前缀和数组可以这样定义:prefix[i] = nums[0] + nums[1] + ... + nums[i - 1]注意这里常用一种写法:prefix[0] = 0也就是说,prefix[i]表示:nums 前 i 个元素的和例如:nums = [2, 4, 1, 7, 3]前缀和数组是: