前缀和—— 一维数组和二维数组的前缀和

Posted 水田如雅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前缀和—— 一维数组和二维数组的前缀和相关的知识,希望对你有一定的参考价值。

一维数组前缀和

定义

对于长度为n的数组num[], 0<=i & i<n,对于位置i的前缀和为Sum(num[0]~num[I]),即从0连续加到i的和。
例如:num=[1,2,3],则前缀和数组为:sum=[1,3,6]

1 2 3
1 1+2 1+2+3

应用示例

例如,对于长度为n的数组num[],0<=i & i<n,并且0<=j & j<n,并且 j>i;给定任意j,i,求解从j~i的连续和。

0 j I n-1

我们可以每次循环,从j加到i,得到结果值;我们也可以计算出每个位置的前缀和,那么sum[j~i]=sum[i]-sum[j];
这样每次给定任意i,j,只需一步计算即可得到值;

二维数组前缀和

定义

现有二维数组:

int[][] grid=new int[m][n];
<

以上是关于前缀和—— 一维数组和二维数组的前缀和的主要内容,如果未能解决你的问题,请参考以下文章

前缀和

前缀和心得

前缀和与差分

前缀和

前缀与差分

前缀与差分