前缀和

前缀和的适用场景是:原始数组不会被修改的情况下,频繁查询某个区间的累加和。
//第一步:根据数组构建前缀和
func PreSum(nums []int)[]int{
m:=len(nums)
if m==0{
return[]int{}
}
preSum:=make([]int,m)
for i:=1;i<m;i++{
preSum[i]=preSum[i-1]+nums[i-1]
}
return preSum
}
//第二步:查询闭区间[i,j]的累加和
func GetSum(preSum []int,i,j int)int{
return preSum[j+1]-preSum[i]
}

浙公网安备 33010602011771号