前缀和

 

 前缀和的适用场景是:原始数组不会被修改的情况下,频繁查询某个区间的累加和。

 

//第一步:根据数组构建前缀和
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]
}

  

posted @ 2022-03-16 10:37  ☞@_@  阅读(44)  评论(0编辑  收藏  举报