问题: 频繁 求一个数组(L,R)的和
解答
public class demo2 {
public static void main(String[] args) {
// 求 ints数组 (L,R) 的和
int[] ints = {1, 2, 3, 4, 5, 4, 3, 2, 4};
int[] help = new int[ints.length];
int sum = 0;
for (int i = 0; i < ints.length; i++) {
help[i] = sum + ints[i];
}
}
}
输出 help : 1,3,6,10,15,19,22,24,28
思路
预处理数组,将数据和放入到一个新数组中
求 ints(1,3)的数据和(2+3+4) 即 求 help[R]-help[L-1] = 10-1 =9.