基础算法 - 前缀和与差分

以下是用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版权协议,转载请附上原文出处链接和本声明。