以下是用Go语言实现前缀和与差分的通用代码:
// 前缀和
func prefixSum(nums []int) []int {
n := len(nums)
prefix := make([]int, n+1)
for i := 1; i <= n; i++ {
prefix[i] = prefix[i-1] + nums[i-1]
}
return prefix
}
// 差分
func difference(nums []int) []int {
n := len(nums)
diff := make([]int, n)
for i := 1; i < n; i++ {
diff[i] = nums[i] - nums[i-1]
}
return diff
}
前缀和和差分是一些常见的算法技巧,用于快速计算区间和或对数组的多次修改操作。这些通用代码可以应用于各种具体问题中,只需要稍作修改即可。
版权声明:本文为qq_59084968原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。