# 前缀和数组的定义及其使用
1. 前缀和的定义
建立数组大小为100的数组a(a[99]),往里面填入100个数据
建立数组大小为100的数组b(b[99]),数组b内的数据由数组a中的决定:
即b[n]=a[0]+a[1]+…+a[n];
此时的数组b即为数组a的前缀和数组
2. 前缀和数组的应用
能以o(1)的时间复杂度,得到某个区间内变化程度的总和
例如: 股票买卖
天数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
a(当天盈利情况) | 0 | -10 | 20 | 15 | -30 | -10 | 20 | 10 | 5 |
b(总资产) | 100 | 90 | 110 | 135 | 105 | 95 | 115 | 135 | 140 |
在这里,b就是前缀和数组.
通过b,我们可以以o(1)的操作得到某一段时间的盈利情况
如: 要得到第2天到第八天的期间的盈利情况,那么可以由b[8]-b[2]=20得到,这个期间里,股票盈利了20