
数据结构都是由 连续+跳转组成
数据结构累加和
这种方法占用户空间比较大 n*n
前缀和数组
help数组每个位置的值 是原数组位置值 与之前位置值的累加和
例如 求数组3-7范围的累加和 查出俩个数的值 相减
边界范围控制好
public static class RangeSum2 {private int[] preSum;public RangeSum2(int[] array) {int N = array.length;preSum = new int[N];preSum[0] = array[0];for (int i = 1; i < N; i++) {preSum[i] = preSum[i - 1] + array[i];}}public int rangeSum(int L, int R) {return L == 0 ? preSum[R] : preSum[R] - preSum[L - 1];}}
如果查询达到巨大无比 十几亿次 第一种好 不用减 可以直接拿到值
