1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
// @Title: 和为 k 的子数组 (和为 k 的子数组)
// @Author: 15816537946@163.com
// @Date: 2022-03-19 15:45:49
// @Runtime: 40 ms
// @Memory: 7.3 MB
func subarraySum(nums []int, k int) int {
    var res, sum int
    m := make(map[int]int)
    m[0]++

    for _,n := range nums {
        sum+=n
        res+=m[sum-k]
        m[sum]++
    }
    return res
}