前缀和适用于数组不变适用于单点更新,区间查询
方法 | 构造 | 查询 | 修改 | 适用 |
---|---|---|---|---|
前缀和 | O(n) | O(1) | 数组不变 | |
树状数组 | O(nlogn) | O(logn) | O(logn) | 区间查询,单点更新 |
307. 区域和检索 - 数组可修改 - 力扣(LeetCode)
-
数组不变,求区间和:「前缀和」、「树状数组」、「线段树」
-
多次修改某个数(单点),求区间和:「树状数组」、「线段树」
-
多次修改某个区间,输出最终结果:「差分」
-
多次修改某个区间,求区间和:「线段树」、「树状数组」(看修改区间范围大小)
-
多次将某个区间变成同一个数,求区间和:「线段树」、「树状数组」(看修改区间范围大小)