前缀和:是一种重要的预处理算法,能大大降低查询的时间复杂度。
主要是对于数组进行操作。
用途:主要是计算之前数组元素的值之和。在解决区域问题时,可以减少遍历操作,减少时间复杂度。
接下来对一维数组和二维数组中前缀和的使用做出解释。
1、一维数组
设原一维数组为a,前缀和数组为b。
则前缀和数组b的元素为:b0 = a0 ;b1 = a0 + a1 ; b2 = a0 + a1 + a2 ; . . .
bn = a0 + a1 + a2 + ... + an;
2、二维数组
设原二维数组为a,前缀和数组为b。
则前缀和数组b的元素为:b00 = a00 ; b01 = a00 + a01 ; b02 = a00 + a01 + a02 ; ... ;
结合下图理解:
右侧标注橙色的二维前缀和元素,其值是左侧的原二维数组中标注橙色的所有元素的和。